And*_*ren 9 azure-devops azure-pipelines
有什么方法可以在按计划触发时将参数传递给 azure devops 构建管道 (YAML)?例如,如果您想每晚构建一个发布构建,但又想每周构建一个调试构建?
必须将整个构建管道复制到 SomeBuild-Debug 才能创建默认为 configuration=debug 的构建,以便能够安排它,这似乎是不对的?
可以检测到构建是通过计划触发的。根据此信息,您可以设置某些变量或触发某些进程。
Azure DevOps 管道使您可以访问一堆预定义的变量。尤其,Build.Reason:
导致构建运行的事件。
Manual:用户手动将构建排队。IndividualCI:由 Git 推送或 TFVC 签入触发的持续集成 (CI)。BatchedCI:由 Git 推送或 TFVC 签入触发的持续集成 (CI),并且选择了批量更改。Schedule:预定触发。ValidateShelveset:用户手动对特定 TFVC 搁置集的构建进行排队。CheckInShelveset:门控签到触发器。PullRequest:构建是由需要构建的 Git 分支策略触发的。ResourceTrigger:构建由资源触发器触发或由另一个构建触发。
基于此变量,可以定义一个自定义变量:
variables:
${{ if eq( variables['Build.Reason'], 'Schedule' ) }}:
myCustomVariable: 'Weekly debug'
Run Code Online (Sandbox Code Playgroud)
或触发自定义流程:
- task: CmdLine@2
condition: eq( variables['Build.Reason'], 'Schedule' ))
displayName: 'My scheduled script'
inputs:
script: echo "I was launched during a scheduled build"
Run Code Online (Sandbox Code Playgroud)
图片来源:这个答案的灵感来自Kevin Lu-MSFT的回答“Settingparametervaluedynamicforautomaticpipelines”
小智 3
我最近遇到了这个,我认为是有的。如果您有权访问 Azure 门户,则可以创建一个按计划触发的 Azure 逻辑应用程序,并且可以启动“对新构建进行排队”。它允许参数的 json 字典:
这允许使用不同的参数开始构建。
| 归档时间: |
|
| 查看次数: |
5689 次 |
| 最近记录: |