【问题标题】:Azure DevOps - Is it possible to schedule a release for a specific day and time?Azure DevOps - 是否可以为特定日期和时间安排发布?
【发布时间】:2018-09-20 16:19:58
【问题描述】:

我正在使用 Azure-DevOps 发布管道来自动化部署。

我想安排在特定日期和时间创建发布。

但是根据下面的截图,只能选择一周中的几天。而且您不能将触发器指定为一次。

这是一个问题,因为触发器会导致每周在指定日期发生一次发布,我们必须记住在每次发布后关闭触发器,直到我们准备好再次发布。

VSTS 中的当前功能是否可以设置特定日期,并且只发布一次?

可能的解决方法?

【问题讨论】:

标签: visual-studio azure-devops azure-pipelines-release-pipeline


【解决方案1】:

编辑您的发布并单击工件下的“计划集”图标。您可以启用并“添加新时间”以重复执行。

否则,请考虑运行在每次构建时触发一次的预部署条件。

Azure Devops Releases screenshot

Azure Devops pre-deployment

【讨论】:

  • 就是这样!这应该是答案吗?
【解决方案2】:

我找到了一种实现一次性预定发布的非常简单的方法。

只需使用市场上的 VSTS CLI 工具...

https://marketplace.visualstudio.com/items?itemName=ms-vsts.cli

它由 MS 发布,从命令行启动构建和发布非常容易。

只需使用任务调度程序。

【讨论】:

  • 如果您的服务器始终在运行,这是一个很好的解决方案。如果你有一个永远在线的服务器,我会推荐这个解决方案而不是我的解决方案,只是为了它的简单性。
【解决方案3】:

您可以将Delay 任务添加到无代理阶段。遗憾的是,您必须指定分钟数而不是具体时间,因此需要一些心算才能解决这个问题。

我几乎总是在完成工作之前“按下按钮”,我只是希望它等待几个小时,直到其余用户注销系统,因此将其固定为 180 分钟不是问题。如果需要,您可以使用变量。

【讨论】:

    【解决方案4】:

    我们通过使用 Microsoft Flow 实现了这一点。 Zapier 不支持触​​发发布。

    我们将流程的触发器设置为带有“产品发布”或“测试发布”字样的 Google 日历(可以使用 O365 等)事件的开始。根据事件的名称,我们让我们的流程确定要启动的发布。我们还让流程向我们的 Slack 频道发送一条消息,通知我们发布已经开始/完成。效果很好。

    一个额外的好处是,开发人员必须向团队负责人发送邀请,并且他必须接受它,因为 Flow 仅在接受的事件上触发。因此,团队中的每个人都知道该版本有一个很好的附带好处。

    我对 DevOps 没有内置此功能感到失望,但老实说,这个工作流程可能比他们构建的要好。

    Zapier 不支持这一点太糟糕了,因为这是我们使用 Microsoft Flow 的唯一原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 2012-05-27
      相关资源
      最近更新 更多