如何解决如何在预定的pipelines中选择作业?
我是创建管道的新手,可以使用一些帮助。我有一个 gitlab-ci.yml 文件,我每天在固定时间和主 gitlab-ci.yml
文件中运行该文件,我正在导入我的其他 ci 文件,这些文件随它一起运行。
这就是我的 gitlab-ci.yml 文件的样子:-
before_script:
- Commands that i am running
stages:
- build
- test
- deploy
include:
- '/tests/ci-1.yml'
- '/tests/ci-2.yml'
我创建了一个新的 ci.yml
文件,我想在主 ci 之外运行该文件,并且我想每天运行两次。
run-my-tests:
stage: test
only:
- schedules
script:
- Script that it will run
如何调整 ci 文件,以便我的新 run-my-tests-ci.yml
文件每天运行两次,而其他作业在固定时间运行?任何帮助将不胜感激。谢谢。
解决方法
首先,您的管道始终包含所有包含的 YAML 文件。在某些情况下,您可以使用预定义或自定义变量从管道中添加或删除作业。
在您的情况下,您可以设置一个变量,例如TESTS 为真并在您的作业中查询此变量。
您还应该使用 rules,因为它们提供了更多选项。
使用变量 TESTS,您可以在不同的预定管道中运行作业“run-my-build”或“run-my-tests”。
.gitlab-ci.yml:
before_script:
- ...
stages:
- build
- test
- deploy
include:
- '/ci-1.yml'
- '/ci-2.yml'
ci-1.yml:
run-my-build:
stage: build
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $TESTS != "true"'
script:
- ...
ci-2.yml:
run-my-tests:
stage: test
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $TESTS == "true"'
script:
- ...
计划流水线 (UI):
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。