4
これは私がいくつかのリンターテスト(eslint)を行う方法です。Gitlab CI/Docker:ジョブにカスタム画像を使用する
linter:
image: ubuntu:16.04
stage: test
tags:
- testing
before_script:
- apt-get update -y
- apt-get install nodejs-legacy -yqq
- apt-get install curl -yqq
- curl https://install.meteor.com/ | sh
- meteor npm install eslint eslint-plugin-react
script:
- ./node_modules/.bin/eslint --ext .js --ext .jsx .
しかし、このすべてのテストでは、ubuntuイメージにパッケージをインストールする必要がありますが、時間がかかります。
私は正確にこれを使ってイメージを構築すると考えました。私はこのDockerfile思い付いた:その後
FROM ubuntu:16.04
RUN apt-get update -y
RUN apt-get install nodejs-legacy -yqq
RUN apt-get install curl -yqq
RUN apt-get clean && apt-get autoclean && apt-get autoremove
RUN curl https://install.meteor.com/ | sh
I行う
$ docker build -t linter-testing:latest .
と、このYMLファイル:
linter:
image: linter-testing:latest
stage: test
tags:
- testing
before_script:
- meteor npm install eslint eslint-plugin-react
script:
- ./node_modules/.bin/eslint --ext .js --ext .jsx .
しかし、それは、このエラーで失敗します。
ERROR: Job failed: Error response from daemon: repository linter-testing not found: does not exist or no pull access
だから、なぜこの画像は存在しないのですか、althoug docker images
は、正確なそのイメージを私に示しています...あなたは、次の
[runners.docker]
pull_policy = "if-not-present"
であなたのランナーマシン上/etc/gitlab-runner
であるあなたのconfig.toml
ファイルを編集する必要があり
私はtomlファイルをどこに作成するのかよく分かりません。 – user3142695
ファイルは '/ etc/gitlab-runner'にあるはずです。私はその情報で答えを編集しました。 – Jawad
すでに存在するはずです。あなたはrootとしてそれを編集する必要があるかもしれません。 '[runners.docker]'セクションが見つからない場合は '' runners.docker ''セクションを見つけて' 'pull_policy =' 'を追加/修正してください。 – Jawad