私は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/*
ちなみに、私はgitlab共有ランナーを使用していません。それが問題の原因かどうかはわかりませんが、念のために言っておきますが、私のgitlabランナーがインストールされているマシンには、nodejsを実行するために必要なすべてのパッケージがあります。
あなたの助けは大歓迎です
宜しくお願いします、
image
タグはドッカーイメージを指定するため、ランナーの実行者をdocker
に指定する必要があります。ランナーを作成したときに、Shell
のような別の値に設定した可能性がありますか?
同じ問題があります。
Gitlab-runnerは、起動時に「gitlab-runner」のデフォルトのユーザーを使用します。したがって、ユーザーにはrootアクセス権がありません。
ps aux|grep gitlab-runner
実行中のシェルをコピー
ユーザーの変更:bashで/usr/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user root
を実行します。
gitlab-ciランナーテスト
パス!
古いpidを殺す
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
もユーザーを変更します。
以下のように使用できます:-
ステージ:-ビルド-デプロイ
deploy-prod:image:node:12.13.0-Alpine stage:deploy script:-npm i -g firebase-tools