【问题标题】:Azure Devops Build: parameters for scheduled buildsAzure Devops Build:计划构建的参数
【发布时间】:2020-05-10 14:44:35
【问题描述】:

有没有办法在按计划触发时将参数传递给 azure devops 构建管道 (YAML)?例如。如果您想每晚构建一个发布版本,还想每周构建一个调试版本?

将整个构建管道复制到 SomeBuild-Debug 以生成默认配置为 debug 的构建以便能够安排它似乎不正确?

【问题讨论】:

  • 我也在寻找一种方法来做到这一点,但看起来如果不编写脚本或使用 Azure Logic Apps 之类的东西就无法做到这一点。我在这里创建了一个功能请求:developercommunity.visualstudio.com/idea/1204205/…
  • 您不能为此使用模板管道吗?模板管道将包含所有管道阶段、作业和步骤,然后您可以创建两个扩展模板管道的管道,仅提供定义不同默认值的参数。

标签: azure-devops azure-pipelines


【解决方案1】:

我最近遇到了这个,我认为有。如果您有权访问 azure 门户,则可以创建按计划触发的 Azure 逻辑应用程序,并可以启动“排队新构建”。它允许一个 json 参数字典:

这允许使用不同的参数开始构建。

【讨论】:

  • 不幸的是,我在本地服务器上。我想我可以对 Windows 中的计划任务执行相同的操作,但我想知道它不可能(或计划)作为官方功能。
  • 我不确定您是否可以使用 Windows 计划任务开始构建。如果你能找到办法,请告诉我,这可能很有趣。据我所知,这不可能作为官方功能。
  • 我没试过,但我想我可以摆脱任何东西,例如一个 PowerShell sn-p 或我自己的自定义程序来触发构建。例如:stackoverflow.com/a/55474158/678410
  • 看起来确实很有希望。
【解决方案2】:

您可以使用 REST API 来安排使用外部服务(ansible、自动化任务等)的 Azure DevOps 构建。在其余 API 调用中,您可以指定输入参数。这样,您将需要使用外部服务而不是 .yml 文件的schedule 来安排构建管道的触发器。

触发构建管道的示例。你应该替换**之间的字符

POST https://dev.azure.com/**GeralexGR**/**test-project**/_apis/pipelines/**11**/runs?&api-version=6.1-preview.1

正文部分

请记住,您还需要使用 PAT 进行身份验证才能使用 Azure Devops 的 REST API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多