2017-04-18 5 views
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ファイルを編集する必要があり

答えて

3

は、関連する問題hereを参照してください。

+0

私はtomlファイルをどこに作成するのかよく分かりません。 – user3142695

+0

ファイルは '/ etc/gitlab-runner'にあるはずです。私はその情報で答えを編集しました。 – Jawad

+0

すでに存在するはずです。あなたはrootとしてそれを編集する必要があるかもしれません。 '[runners.docker]'セクションが見つからない場合は '' runners.docker ''セクションを見つけて' 'pull_policy =' 'を追加/修正してください。 – Jawad

関連する問題