web-dev-qa-db-ja.com

Gitlab CI失敗:NPMコマンドが見つかりません

私はGitlabl CIをいじっていますが、何らかの理由でテストを「成功」させることができません。常にnpm: command not found

私のGitlab CI構成は次のようになります。

image: node:latest
# This folder is cached between builds
# http://docs.gitlab.com/ce/ci/yaml/README.html#cache
cache:
  paths:
    - node_modules/

before_script:
  - npm install
  - npm install eslint -g
  - npm install eslint-plugin-react -g
  - npm install babel-eslint -g

test:lint:
  script:
    - eslint src/*

以下のエラーが発生し続けますが、理由がわかりません: enter image description here

ちなみに、私はgitlab共有ランナーを使用していません。それが問題の原因かどうかはわかりませんが、念のために言っておきますが、私のgitlabランナーがインストールされているマシンには、nodejsを実行するために必要なすべてのパッケージがあります。

あなたの助けは大歓迎です

宜しくお願いします、

9
mr.b

imageタグはドッカーイメージを指定するため、ランナーの実行者をdockerに指定する必要があります。ランナーを作成したときに、Shellのような別の値に設定した可能性がありますか?

4
Amposter

同じ問題があります。

Gitlab-runnerは、起動時に「gitlab-runner」のデフォルトのユーザーを使用します。したがって、ユーザーにはrootアクセス権がありません。

ps aux|grep gitlab-runner

  1. 実行中のシェルをコピー

  2. ユーザーの変更:bashで/usr/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user rootを実行します。

  3. gitlab-ciランナーテスト

  4. パス!

  5. 古いpidを殺す

  6. Nohup /usr/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user root

ps:gitlab-runner -u rootもユーザーを変更します。

0
孙勇健

以下のように使用できます:-

ステージ:-ビルド-デプロイ

deploy-prod:image:node:12.13.0-Alpine stage:deploy script:-npm i -g firebase-tools

0