如何将 gitlab-ci.yml 中阶段的执行限制在几个小时内?
How to limit execution of stage in gitlab-ci.yml to some hours?
我在 gitlab-ci.yml 中有多个阶段。我想限制例如部署到只能在上午 8 点到下午 16 点之间执行的生产阶段。
这个“if”语句是在阶段还是可以通过其他方式解决?
您可以设置 deployment freezes 来执行此操作。
例如,您可以像这样使用 rules:
设置您的 CI YAML(如果需要,您还可以检查脚本中的冻结):
deploy_to_production:
stage: deploy
script:
- deploy_to_prod.sh
rules:
- if: $CI_DEPLOY_FREEZE == null # only run when there is no deploy freeze
为了达到您所说的效果,您可以使用以下参数配置部署冻结:
冻结开始:0 16 * * *
# 在 16:00 开始冻结,防止在 4:00PM
之后部署
冻结结束:0 8 * * *
# 在早上 8 点结束冻结(允许在早上 8 点后部署)
时区:<your timezone>
没有特定的方法可以将此应用到 阶段 你必须为每个你不想做的工作设置 rules:
(或等效的脚本步骤) 运行 冻结期间。
我在 gitlab-ci.yml 中有多个阶段。我想限制例如部署到只能在上午 8 点到下午 16 点之间执行的生产阶段。 这个“if”语句是在阶段还是可以通过其他方式解决?
您可以设置 deployment freezes 来执行此操作。
例如,您可以像这样使用 rules:
设置您的 CI YAML(如果需要,您还可以检查脚本中的冻结):
deploy_to_production:
stage: deploy
script:
- deploy_to_prod.sh
rules:
- if: $CI_DEPLOY_FREEZE == null # only run when there is no deploy freeze
为了达到您所说的效果,您可以使用以下参数配置部署冻结:
冻结开始:0 16 * * *
# 在 16:00 开始冻结,防止在 4:00PM
之后部署
冻结结束:0 8 * * *
# 在早上 8 点结束冻结(允许在早上 8 点后部署)
时区:<your timezone>
没有特定的方法可以将此应用到 阶段 你必须为每个你不想做的工作设置 rules:
(或等效的脚本步骤) 运行 冻结期间。