首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gitlab CI/CD:延迟工作

Gitlab CI/CD:延迟工作
EN

Stack Overflow用户
提问于 2022-05-09 10:29:02
回答 1查看 682关注 0票数 0

在第一次,我想知道是否有可能使一个gitlab CI/CD工作在一段时间内“暂停”。如果超过了这个时间段(以秒/分钟为单位),我希望执行我的任务。

第二次,我希望能在这段“暂缓”期间从事其他工作。

我的申请:

我在运行一个管道CI/CD。在CI/CD管道的末尾,我创建了一个任务来清理我的测试数据。

我希望这个任务被“延迟”,让我执行一些其他的任务,比如质量代码作业。

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2022-05-10 02:48:14

第二次,我希望能在这段“暂缓”期间从事其他工作。

听起来您想要使用管道stages

例如,您可以有以下两个阶段:

代码语言:javascript
运行
复制
stages:
  - test
  - clean-up

它定义管道的执行/进展顺序。正如您所说的,您希望在最后运行测试数据清理作业,因此在clean_up阶段将其定义为作业是合适的。

由于同一阶段的所有作业都并行运行,如果在同一阶段定义了其他作业,则可以指定时间延迟

代码语言:javascript
运行
复制
  when: delayed
  start_in: 30 minutes

关于你的第一个问题:

我想知道是否有可能在一段时间内使一个gitlab CI/CD工作“暂停”。如果超过了这个时间段(以秒/分钟为单位),我希望执行我的任务。

将其组合在一起,您的.gitlab-ci.yml可能如下所示:

代码语言:javascript
运行
复制
stages:
  - test
  - clean-up

# code-quality, performance-tests, regression-tests
# are jobs belonging to the same stage "test"
code-quality:
  stage: test
  script: run_code_quality_tests

performance-tests:
  stage: test
  script: run_performance_tests

regression-tests:
  stage: test
  script: run_regression_tests

# this job is defined at the same stage as clean-test-data job;
# it will run in parallel as the clean-test-data job
post-test:
  stage: clean-up
  script:
    - run_something

clean-test-data:
  stage: clean-up
  script:
    - run_clean_up_command
  when: delayed
  # clean-test-data job will not start to run before this 30 min time has lapsed
  start_in: 30 minutes 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72170530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档