除了使用密钥保管库、无代理管道和参数在azure中的管道运行时提供用户输入之外,还有什么方法吗?

问题描述 投票:0回答:2
我试图在管道运行时提供用户输入,但无法提供。除了使用参数或使用密钥保管库在手动验证期间提供输入之外,还有什么方法可以在天蓝色管道中实现此目的。

尝试创建一个ansible任务来提示用户输入但无法实现。

azure azure-devops azure-pipelines azure-pipelines-build-task azure-pipelines-tasks
2个回答
0
投票
Azure DevOps 构建管道是非交互式的,并且无法在管道运行期间请求用户输入,除非您像您建议的那样使用手动干预并更改第三方存储区域/保管库中的数据。

您可以

在这里建议该功能,它可能会得到开发。


0
投票
由于 Azure Pipelines 是非交互式的,因此无法在管道运行期间

输入变量值。 虽然受到@ScottRichards富有洞察力的

answer

的启发,您可以考虑使用下面的解决方法在运行管道的过程中更新管道库(变量组)中的变量的值。 这是一个使用变量组的简单 YAML 管道(在

job

范围内)。

stages:
- stage: StageA
  jobs:
  - job: Job1
    variables:
    - group: VG-Job
    steps:
    - script: echo $(Var1)

  - job: Job2
    dependsOn: Job1
    variables:
    - group: VG-Job
    steps:
    - script: echo $(Var1)

设置变量组,名称为
    VG-Job
  1. ;在变量组中添加一个变量
    $(Var1)
    ,其值为原值
    ValueXXXXX
    
    启用
  2. Approvals
  3. 检查该变量组;
    
    
    管道运行时,会暂停
  4. StageA
  5. 的执行,等待审批者批准使用变量组资源
    VG-Job
    
    审批前,审批者可以更新该变量组中变量
  6. $(Var1)
  7. 的值,并继续审批并恢复Pipeline阶段;
    
    管道运行期间变量
  8. $(Var1)
  9. 的输出值将是更新后的值
    ValueYYYYY
    而不是其原始值
    ValueXXXXX
    ,因为变量组中变量的值是在
    运行时
    处理的;
  10. 还请注意,

检查是资源所有者可用的一种机制,用于控制管道中的
stage

是否以及何时可以消耗资源(例如我们案例中的变量组)。作为资源(例如环境(变量组))的所有者,您可以定义在使用该资源的stage开始之前必须满足的检查。

也就是说,
Job2

Job1
处于阶段,不会
再次暂停管道申请批准。
希望解决方法可以帮助解决您的疑问。

© www.soinside.com 2019 - 2024. All rights reserved.