Azure yaml 每 14 天在星期六触发一次管道

标签 azure azure-devops cron azure-pipelines

我有一个小测试项目,我需要每两周编译和构建一次,特别是在周六。

根据 Microsoft Azure 文档,我可以使用计划并设置我的 cron,因此我执行了以下操作:

trigger : none
schedules:
  - cron: '* 8 1/14 * 6'
    displayName: Trigger every 2nd and 4th Saturday
    branches:
      include:
        - test
    always: true

但这并没有像我预期的那样工作,因为在 Azure devOps 中我看不到触发器。

基本上我想要的是每个月,该管道需要在该月的第二个星期六和第四个星期六触发(每两周一个星期六)。

据我从文档中了解到,如果不是每周,则很难设置日期,因此请尝试设置时间。为了测试这一点,我使用了 crontab guru。基本上我计算了 14 天有多少小时,并将 cron 设置如下:

trigger : none
schedules:
  - cron: '* 8/312 * * *'
    displayName: Trigger every 2nd and 4th Saturday
    branches:
      include:
        - test
    always: true

但是由于某种原因,这表明下一次触发将是明天早上 8 点。

我现在很困惑。

有人对我如何保证触发器总是在每两周的星期六有任何建议吗?

如果我的问题不是 100% 清楚,请随时询问更多详细信息。

非常感谢您为我提供的任何帮助。

最佳答案

我相信您会想要以下 cron 作业

cron: 0 8 8-14,22-28  * 6

其背后的逻辑是,该月的第二个星期六必须位于第 8 至 14 天之间,同样,第四个星期六必须位于 22 至 28 日之间。您可以通过单击管道上的 3 个点并检查计划运行来测试这一点。问题是它只显示下周内的计划运行,因此您必须等待一段时间才能确认它是否有效。

作为检查调度的快速测试,如果您使用上述内容,但将其修改为在星期三运行(因为我们已经过了本月的第四个星期六),您可以看到它将在本周触发一次28日

关于Azure yaml 每 14 天在星期六触发一次管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73852105/

相关文章:

entity-framework - Azure网站GIT部署: server compiled . DLL与本地构建的.DLL不同

c# - 将函数定义作为 CI 流程的一部分导入 API 管理

git - Visual Studio 2017 本地 Git Repo 路径不正确

reactjs - Azure Devops NPM 请将您的工作目录更改为有效目录

php - cron 作业不会写入文件

php - 从 cron 运行 PHP 脚本

javascript - 在 NodeJS 中安排一个异步函数

node.js - 使用 Azure AD 登录 Nodejs Web 应用

node.js - 在Azure中作为应用程序服务运行的node.js应用程序的暂存槽为我提供了EADDRINUSE

azure - Web 部署任务失败。已超出此站点的最大连接数。 azure