gpt4 book ai didi

gitlab - 仅当一项或多项工作在 GitLab CI 中成功时,我如何才能通过阶段?

转载 作者:行者123 更新时间:2023-12-05 06:58:47 26 4
gpt4 key购买 nike

我有一个看起来像这样的 .gitlab-ci.yml:


image: "python:3.7"

.python-tag:
tags:
- python

before_script:
- python --version
- pip install -r requirements.txt
- export PYTHONPATH=${PYTHONPATH}:./src
- python -c "import sys;print(sys.path)"

stages:
- Static Analysis
- Local Tests
- Integration Tests
- Deploy

mypy:
stage: Static Analysis
extends:
- .python-tag
script:
- mypy .

pytest-smoke:
stage: Local Tests
extends:
- .python-tag
script:
- pytest -m smoke

int-tests-1:
stage: Integration Tests
when: manual
allow_failure: false
trigger:
project: tests/gitlab-integration-testing-integration-tests
strategy: depend

int-tests-2:
stage: Integration Tests
when: manual
allow_failure: false
trigger:
project: tests/gitlab-integration-testing-integration-tests
strategy: depend

deploy:
stage: Deploy
extends:
- .python-tag
script:
- echo "Deployed!"

Integrations 阶段有多个作业,需要相当长的时间才能运行。需要运行所有 集成测试是不寻常的。这就是为什么我们在这些上贴上手动标志,需要的特定的将手动运行。

如何才能使 Deploy 阶段要求 Integration Tests 中的一个或多个作业已通过?我可以像现在一样做所有,也可以通过从集成测试作业中删除 allow_failure: false 来不做任何事情。

我想要求至少有一次已经过去了。

最佳答案

如果每个作业只有在作业成功时才生成工件

  artifacts:
paths:
- success.txt
script:
# generate the success.txt file

你应该能够在下一阶段测试文件是否存在

你需要在下一阶段添加这个(下面)才能读取文件:

  artifacts:
paths:
- success.txt

关于gitlab - 仅当一项或多项工作在 GitLab CI 中成功时,我如何才能通过阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64541246/

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