我们正在尝试从构建的代码开始排队,但是不应立即在晚上运行,因为我们的构建管道在晚上非常空闲,并且不需要立即运行此工作。
我们每天都会排队约20个或这些构建,现在很遗憾,它阻止了其他构建。我知道我们可以使用构建优先级,但是它还不够好,因为我们要“推迟”的构建需要相当长的时间,并且如果要在高度重要的构建之前启动,则会阻止其他构建。
我们还看到可以创建一个时间表,但这听起来更像是一个应该在只需要运行一次的地方重新出现的构建。
答案 0 :(得分:0)
Azure Devops:将要排队的构建在晚上运行
触发器构建仅一次不可用。如您所见,只有时间表的工作日,时间和时区。
有一个用户语音Scheduled builds - More flexible timing configuration,建议包括更灵活的时间配置。您可以投票并跟进此用户声音。
作为对该线程的评论,我们可以Use cron syntax to specify schedules in a YAML file。作为测试,我们可以获得更详细的时序配置,但仍然无法安排构建仅运行一次。
作为解决方法,我们可以在计划构建完成后在一周的某天计划构建,然后可以手动或使用工具Azure DevOps CLI禁用计划。
希望这会有所帮助。
答案 1 :(得分:0)
有一种变通方法,可使用Azure CLI和CMD计划任务在指定时间运行一次构建。您可以尝试按照以下步骤操作。
1,您需要安装Azure CLI。您可以按照此博客中的步骤开始使用Azure CLI。 [blog]:https://devblogs.microsoft.com/devops/using-azure-devops-from-the-command-line/
2,创建如下所示的CMD脚本并将其保存到本地磁盘,有关z管道命令的更多信息,请转到https://docs.microsoft.com/en-us/cli/azure/ext/azure-devops/pipelines/build?view=azure-cli-latest#ext-azure-devops-az-pipelines-build-queue
az管道构建队列--definition-name your-build-definition-name -o表
3,像下面的示例一样,使用schtask.exe创建计划的CMD任务脚本,有关更多信息,请访问https://www.windowscentral.com/how-create-task-using-task-scheduler-command-prompt
schtasks / create / tn“给您的任务一个名称” / tr“您在先前步骤中创建的脚本文件的位置” / sc ONCE / st指定运行您的构建的时间
您也可以将该脚本保存到本地磁盘,当您希望将构建计划在晚上运行时,下次可以只运行此脚本。
希望以上步骤可以为您提供帮助,此替代方法似乎很繁琐,需要一些努力。但这是一劳永逸的工作。