使用调度程序和变量组运行 Azure DevOps CI 管道

Posted

技术标签:

【中文标题】使用调度程序和变量组运行 Azure DevOps CI 管道【英文标题】:Run Azure DevOps CI Pipeline with Scheduler and Variable Group 【发布时间】:2021-11-06 11:47:05 【问题描述】:

我们只有一个管道(我们不能也不想创建第二个管道或使用单独的管道来完成,它必须在同一个管道中完成),该管道具有停止或停止的任务在从库中接受变量组(它是必需的)时启动一个函数(我们在 YAML 上指定那些存储 AE 变量,但它们也存在于库中),并指定 Azure 订阅。目前,我们手动运行这个管道,这是我运行它之前的样子

我正在寻找的功能是自动化此管道以在中部标准时间晚上 7 点运行,并将 start 函数作为任务,接受变量组,并指定我想要的 azure 订阅.然后,在 CST 第二天早上 6 点,我需要使用 SAME 管道来运行以 stop 功能作为任务的构建,接受一个变量组,并指定我想要的 azure 订阅。 我在 CI 管道中找到了一个调度程序功能,但它不允许我从库中指定我想要的变量组,没有选择启动或停止函数的选项,也没有选择订阅的选项。这是我期待看到的

如果有帮助,这就是我拥有的 .YAML 代码(出于隐私目的,某些内容已被删除)

trigger:
- none

pool:
  vmImage: 'windows-latest'

parameters:
- name: variableGroup
  displayName: Variable Group
  type: string
  values:
  - 'variable for store A'
  - 'variable for store B'
  - 'variable for store C'
  - 'variable for store D'
  - 'variable for store E'
    
- name: artifactVersion
  displayName: ArtifactVersion (* (latest) or 1.sprintNumber.ReleaseNo)
  type: string
  default: '*'

- name: Function
  displayName: Function
  type: string
  default: 'deploy'
  values:
  - deploy  
  
- name: task
  displayName: ExecuteTask
  type: string
  default: ''
  values:
  - start thefunction
  - stop the function
  
- name: Subscription
  displayName: Subscription
  type: string 
  values:
  - 'sandbox'
  - 'production '
      

【问题讨论】:

【参考方案1】:

恐怕暂时没有这样的方法可以满足你的要求。

请参阅此文档:Scheduled triggers

schedules:
- cron: string # cron syntax defining a schedule
  displayName: string # friendly name given to a specific schedule
  branches:
    include: [ string ] # which branches the schedule applies to
    exclude: [ string ] # which branches to exclude from the schedule
  always: boolean # whether to always run the pipeline or only if there have been source code changes since the last successful scheduled run. The default is false.

计划触发器不支持为参数设置目标值。

另一方面,当您设置运行时参数时,选择值的选项或下拉列表只能在管道手动运行时显示。

我完全理解您的要求。

您可以在我们的 UserVoice 网站 (https://developercommunity.visualstudio.com/content/idea/post.html?space=21) 上添加对该功能的请求,这是我们产品建议的主要论坛:

【讨论】:

好的,凯文,谢谢,我会在那里提交,感谢您的反馈 @JackRogers。你能在这里分享建议票链接吗?我会帮忙投票的。 这里是链接developercommunity.visualstudio.com/t/…,感谢您的投票和工作,感谢您的帮助和关注

以上是关于使用调度程序和变量组运行 Azure DevOps CI 管道的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps 发布管道的动态变量组

有没有办法更新 Azure DevOps 管道中的变量组变量?

如何从 Terraform 文件中的 Azure Devops 变量组调用环境变量?

从 azure devops 管道更新变量组

如何在 Azure DevOps 变量组中使用 SecureFile?

更新 Azure DevOps 版本的变量组快照