Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 重新运行期间的多级释放管道varaibale值重写_Azure Devops_Azure Pipelines_Azure Pipelines Release Task - Fatal编程技术网

Azure devops 重新运行期间的多级释放管道varaibale值重写

Azure devops 重新运行期间的多级释放管道varaibale值重写,azure-devops,azure-pipelines,azure-pipelines-release-task,Azure Devops,Azure Pipelines,Azure Pipelines Release Task,在经典版本管道中,当您重新运行版本构建时,将使用最初创建版本时使用的相同变量。在多阶段管道中,即使我们重新运行现有的已部署阶段,我也看到新/新拾取的值 预期:使用初始运行中使用的相同变量,而不是使用新变量 我指的被覆盖的变量是从保存在Azure DevOps变量组中的Keyvault读取的 对变量组进行的任何集中更改,如变量值的更改或添加新变量,将自动提供给变量组链接到的所有定义或阶段。在YAML管道中,要使用变量组中的变量,需要在YAML文件中添加对该组的引用: variables: - gr

在经典版本管道中,当您重新运行版本构建时,将使用最初创建版本时使用的相同变量。在多阶段管道中,即使我们重新运行现有的已部署阶段,我也看到新/新拾取的值

预期:使用初始运行中使用的相同变量,而不是使用新变量

我指的被覆盖的变量是从保存在Azure DevOps变量组中的Keyvault读取的


对变量组进行的任何集中更改,如变量值的更改或添加新变量,将自动提供给变量组链接到的所有定义或阶段。在YAML管道中,要使用变量组中的变量,需要在YAML文件中添加对该组的引用:

variables:
- group: my-variable-group
因此,每次运行或重新运行YAML管道时,它都会从变量组中获取变量。如果对变量组进行了任何更改,管道将获得新的更改

而在经典版本管道中,变量不会在链接到现有版本的变量组中更改,因此在重新部署管道或阶段时,仍然可以使用原始变量


这是classic release pipeline和YAML pipeline的默认行为,我们无法对其进行更改。

classic release pipeline并不完全如此,它会保留变量的快照,因此如果重新部署版本,它会选择以前的版本变量值,而不是新的版本。我自己验证了这个特性,并在经典的发布管道中使用了相当长的时间。同样,当我尝试使用多级管道时,当我重新运行以前的版本时,它总是选择新的值,这是我在这里提出的问题。我指的是以下问题是的,你是正确的,这就是我在回答中提到的。在经典版本管道中,变量不会在链接到现有版本的变量组中更改(保留变量的快照)。但在YAML管道中,要使用变量组中的变量,需要在YAML文件中添加对该组的引用,每次运行或重新运行YAML管道时,它都会从变量组中获取变量。如果对变量组进行了任何更改,YAML管道将获得新的更改。不幸的是,我们无法在YAML构建中更改此行为。好的,谢谢-在这种情况下,这是一个突破性的更改,作为最终用户,我们永远无法在上述场景中重新部署相同的版本。我在Azure Key Vault引用变量组中也看到了这种行为。除了将变量保留在管道中之外,还有哪些替代方案:(这将是一个糟糕的解决方案。您可以尝试创建多个密钥保管库,并在管道中使用Azure密钥保管库任务:。