Jenkins CD Pipeline:如何每天只执行一次特定步骤



我有一个(声明性的)Jenkins Pipeline,它不断地进行构建和测试。成功后,应根据某个计划每天在特定测试环境中部署一次应用程序。

例如,如果构建成功,并且当前时间为

  • 在 11:00 到 14:00 之间,部署到 TestA,但每天只部署一次;
  • 在 14:00 到 18:00 之间部署到 TestB,但也每天只部署到一次;
  • 等。

我将能够在一些时髦的代码中进行时隙处理,但我不确定如何"记住"截至今天为止,该时间段内是否已经进行了部署。当然,将这些信息存储在工作区中是没有用的,因为以后的构建可能会在其他地方执行。

那么我可能有什么选择呢?

  1. 将某个标记文件存储在共享网络位置,并在以后的生成中检查此文件及其时间戳,以确定是否需要部署。这可能会起作用,但会引入对外部资源的依赖。
  2. 我可以在进行部署时以某种方式"标记"Jenkins构建,以便后续构建可以循环访问以前的构建并搜索此类标记吗?喜欢在构建中存档一些小文本文件?
  3. 或者,是否有任何插件支持此方案?
  4. 或者有什么完全不同的想法?

这似乎是 CD 管道中常见的场景,所以我想知道这在野外是如何完成的......感谢您的任何提示!

应在单独的管道上具有生成和部署阶段。这样,生成可以独立进行,并且部署可以由计时器触发,每天只运行一次。

在这种情况下,你希望生成管道存档其项目,以便部署管道始终可以部署成功的生成。复制项目插件可用于将生成管道的项目获取到部署管道的工作区中。

相关内容

  • 没有找到相关文章

最新更新