これが私がリンターテスト(eslint)を行う方法です。
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
それから私はします
$ 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
その画像を正確に表示します...
ランナーマシンのconfig.toml
にある/etc/gitlab-runner
ファイルを次のように編集する必要があります。
[runners.docker]
pull_policy = "if-not-present"
関連する問題を参照してください ここ 。