我如何在Gitlab中安排不同时间的作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何在Gitlab中安排不同时间的作业相关的知识,希望对你有一定的参考价值。
我在Gitlab CI yaml中具有构建和测试作业。我想每天晚上16.00触发建造工作而且我想每天早上4.00在GitLab上触发测试作业而且我在Gitlab CI / CD上知道-时间表-新时间表但我不知道该怎么写才能在Gitlab CI yaml中使用我已经上传了我的Gitlab CI yaml文件。你能告诉我吗?对我来说很重要。
variables:
MSBUILD_PATH: 'C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe'
SOLUTION_PATH: 'Source/NewProject.sln'
stages:
- build
- test
build_job:
stage: build
script:
- '& "$env:MSBUILD_PATH" "$env:SOLUTION_PATH" /nologo /t:Rebuild /p:Configuration=Debug'
- pwd
artifacts:
paths:
- 'Output'
test_job:
stage: test
only:
- schedules
script:
- 'Output\bin\Debug\NewProject.exe'
答案
您尝试过only:variables/except:variables吗?首先,您需要在日程安排中设置适当的变量,然后将only variables
添加到yml配置中。示例:
...
build_job:
...
only:
variables:
- $SCHEDULED_BUILD == "True"
test_job:
...
only:
variables:
- $SCHEDULED_TEST == "True"
如果您始终希望有12小时的延迟,则可以只使用一个时间表并添加when:delayed
when: delayed
start_in: 12 hours
更新:根据注释中的请求添加了简单管道配置的完整示例,当SCHEDULED_BUILD
设置为True
时应运行作业build,而当设置SCHEDULED_TEST
时应运行test作业到True
:
build:
script:
- echo only build
only:
variables:
- $SCHEDULED_BUILD == "True"
test:
script:
- echo only test
only:
variables:
- $SCHEDULED_TEST == "True"
以上是关于我如何在Gitlab中安排不同时间的作业的主要内容,如果未能解决你的问题,请参考以下文章