gpt4 book ai didi

python - Gitlab CI/CD 在 "Cleaning up project directory and file based variables"和 "ERROR: Job failed: exit code 1"时失败

转载 作者:行者123 更新时间:2023-12-05 04:44:12 25 4
gpt4 key购买 nike

我已经运行了将近六个月的 gitlab 管道现在意外失败。

之前的每一行都成功运行,然后发生这种情况:

Setting up curl (7.52.1-5+deb9u16) ...
$ curl -s https://deb.nodesource.com/setup_12.x | bash
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

我这辈子都弄不明白发生了什么变化。我认为这可能是相关的 this issue但我没有遇到任何网络问题、超时等问题。

我的 .gitlab-ci.yml 的轻微混淆版本。显然,我正在使用 .gitlab-ci.yml 来配置我的管道,并且我还在使用共享的 GitLab 运行程序。


image: python:3.6-stretch

variables:
ACCESS_KEY_ID: **********
SECRET_ACCESS_KEY: **********

before_script:
- apt-get update
- apt-get install -y curl
- curl -s https://deb.nodesource.com/setup_12.x | bash
- apt-get install -y nodejs
- apt-get install -y npm
- npm install -g serverless
- pip install --upgrade awscli
- python --version
- nodejs --version

stages:
- deploy

deploy:
stage: deploy

only:
- master # We will run the CD only when something is going to change in master branch.

script:
- npm install # Archive the code repository.
- pip install -r requirements.txt

- cd services/service1/
- sls deploy -v --stage production
- cd ../../

- cd services/service2/
- sls deploy -v --stage production
- cd ../../

- cd services/service3/
- sls deploy -v --stage production
- cd ../../


environment:
name: master

最佳答案

倒数第二行(Cleaning up project directory and file based variables )总是出现在 CI/CD 作业中,无论通过还是失败。

可能发生的是最后一个命令,curl -s https://deb.nodesource.com/setup_12.x | bash 失败了。不幸的是,由于您正在下载一个删除文件并将其通过管道传送到 bash,您的管道很可能开始随机失败,因为不能保证该脚本每次都相同

为了测试它,我创建了一个干净的 ubuntu 虚拟机,并运行了 curl 命令,得到了以下错误:enter image description here

长期解决此问题的最佳方法是创建一个容器,其中包含 CI 所需的所有依赖项,并将其存储在 GitLab 项目的容器注册表中,然后每次都拉取该容器。这不仅会节省您的 CI/CD 时间,因为您不必每次都运行安装,而且它会防止您的依赖项在您下面发生变化并导致错误的确切问题。还值得注意的是,您应该非常小心地将外部下载的脚本传递给 bash,因为该脚本可能会更改以包含任何内容,而您的 CI 会在不知不觉中运行它。

关于python - Gitlab CI/CD 在 "Cleaning up project directory and file based variables"和 "ERROR: Job failed: exit code 1"时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69411379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com