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
然後我做
$ 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
那麼爲什麼這個圖像不存在,al顯示我確切的形象......
我不太確定在哪裏創建toml文件。 – user3142695
該文件應該在'/ etc/gitlab-runner'中。我用這個信息編輯了答案。 – Jawad
它應該已經存在。您可能需要以root身份編輯它。只需找到'[runners.docker]'部分並添加/修改'pull_policy ='if-not-present'' – Jawad