Gitlab CI fails with ERROR: Job failed: exit code 1
Gitlab CI fails with ERROR: Job failed: exit code 1
我是 gitlab 的新手 ci 我有一个带有预先存在的 gitlab 配置的项目 运行 很好但是在推送了一些代码更改之后,它现在已经完全停止工作我不知道为什么。这是 .gitlab-ci.yml
stages:
- build
- deploy
variables:
DOCKER_HOST: tcp://localhost:2375
assets:
stage: build
image: node:10-alpine
script:
- npm ci
- NODE_ENV=production npm run build
artifacts:
expire_in: 1 day
paths:
- public/assets
tags:
- docker
package:
stage: deploy
image: php:7.3-cli-alpine
dependencies:
- assets
before_script:
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
- php composer-setup.php --install-dir=/usr/local/bin --filename=composer
- php -r "unlink('composer-setup.php');"
script:
- composer install --prefer-dist --no-progress --optimize-autoloader --no-scripts
- rm -fr .git
artifacts:
expire_in: 1 day
paths:
- .
tags:
- docker
docker:
stage: deploy
image: docker:latest
services:
- docker:18-dind
dependencies:
- assets
script:
- docker build -t $CI_REGISTRY_IMAGE:latest .
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker push $CI_REGISTRY_IMAGE:latest
only:
- master
tags:
- docker
deploy:
stage: deploy
image: php:7.3-cli-alpine
dependencies:
- assets
before_script:
- curl -LO https://deployer.org/deployer.phar
- mv deployer.phar /usr/local/bin/dep
- chmod +x /usr/local/bin/dep
- apk add --update openssh rsync
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -t rsa domain.co.uk >> /root/.ssh/known_hosts
script:
- dep deploy -p --tag="$CI_COMMIT_TAG"
only:
- tags
tags:
- docker
我一直收到以下错误,我想知道发生了什么变化,是服务器还是 gitlab-ci 导致了以下问题。我检查了服务器,它 运行 没问题,但那里没有安装 docker,我认为 docker 不应该安装在服务器上,因为它无论如何都想做什么?
Checking out a50d58fd as master...
Skipping Git submodules setup
Downloading artifacts for assets (447059035)...
00:01
Downloading artifacts from coordinator... ok id=447059035 responseStatus=200 OK token=cp4GCzgJ
$ docker build -t $CI_REGISTRY_IMAGE:latest .
00:02
time="2020-02-24T03:53:41Z" level=error msg="failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial tcp [::1]:2375: connect: connection refused"
error during connect: Post http://localhost:2375/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=sja0dvuf6gm0w8tneigulo3ha&shmsize=0&t=registry.gitlab.com%2Fnir.npl%2Fbrayleys-honda%3Alatest&target=&ulimits=null&version=1: context canceled
ERROR: Job failed: exit code 1
检查这是否类似于 this thread from a year ago:
It seems docker updated their latest stable images and gitlab has not updated their runners yet, changing the images to be on the 18 major fixes these issues, eg:
image: docker:18-git
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
services:
- docker:18-dind
在你的情况下,一年后,那将是 docker:19-dind
,特别是如果你使用 image: docker:latest
,这不是一个好的做法,因为 "latest" 可以随时变化时间。
image: docker:19-git
更可取。
我是 gitlab 的新手 ci 我有一个带有预先存在的 gitlab 配置的项目 运行 很好但是在推送了一些代码更改之后,它现在已经完全停止工作我不知道为什么。这是 .gitlab-ci.yml
stages:
- build
- deploy
variables:
DOCKER_HOST: tcp://localhost:2375
assets:
stage: build
image: node:10-alpine
script:
- npm ci
- NODE_ENV=production npm run build
artifacts:
expire_in: 1 day
paths:
- public/assets
tags:
- docker
package:
stage: deploy
image: php:7.3-cli-alpine
dependencies:
- assets
before_script:
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
- php composer-setup.php --install-dir=/usr/local/bin --filename=composer
- php -r "unlink('composer-setup.php');"
script:
- composer install --prefer-dist --no-progress --optimize-autoloader --no-scripts
- rm -fr .git
artifacts:
expire_in: 1 day
paths:
- .
tags:
- docker
docker:
stage: deploy
image: docker:latest
services:
- docker:18-dind
dependencies:
- assets
script:
- docker build -t $CI_REGISTRY_IMAGE:latest .
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker push $CI_REGISTRY_IMAGE:latest
only:
- master
tags:
- docker
deploy:
stage: deploy
image: php:7.3-cli-alpine
dependencies:
- assets
before_script:
- curl -LO https://deployer.org/deployer.phar
- mv deployer.phar /usr/local/bin/dep
- chmod +x /usr/local/bin/dep
- apk add --update openssh rsync
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -t rsa domain.co.uk >> /root/.ssh/known_hosts
script:
- dep deploy -p --tag="$CI_COMMIT_TAG"
only:
- tags
tags:
- docker
我一直收到以下错误,我想知道发生了什么变化,是服务器还是 gitlab-ci 导致了以下问题。我检查了服务器,它 运行 没问题,但那里没有安装 docker,我认为 docker 不应该安装在服务器上,因为它无论如何都想做什么?
Checking out a50d58fd as master...
Skipping Git submodules setup
Downloading artifacts for assets (447059035)...
00:01
Downloading artifacts from coordinator... ok id=447059035 responseStatus=200 OK token=cp4GCzgJ
$ docker build -t $CI_REGISTRY_IMAGE:latest .
00:02
time="2020-02-24T03:53:41Z" level=error msg="failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial tcp [::1]:2375: connect: connection refused"
error during connect: Post http://localhost:2375/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=sja0dvuf6gm0w8tneigulo3ha&shmsize=0&t=registry.gitlab.com%2Fnir.npl%2Fbrayleys-honda%3Alatest&target=&ulimits=null&version=1: context canceled
ERROR: Job failed: exit code 1
检查这是否类似于 this thread from a year ago:
It seems docker updated their latest stable images and gitlab has not updated their runners yet, changing the images to be on the 18 major fixes these issues, eg:
image: docker:18-git
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
services:
- docker:18-dind
在你的情况下,一年后,那将是 docker:19-dind
,特别是如果你使用 image: docker:latest
,这不是一个好的做法,因为 "latest" 可以随时变化时间。
image: docker:19-git
更可取。