如何在发布管道中使用构建管道中的自定义变量

欧根·梅耶(Eugen Mayer)

问题:有什么方法可以在azure-devops的构建管道中定义自定义变量,然后可以以任何方式在发布管道中使用该自定义变量?

场景:我们不使用变量组,因为我们需要在构建管道中动态设置变量,然后在发布管道中使用它-它不是静态的超级全局变量。

发布变量构建变量处检查了文档,但是找不到任何帮助信息或提示,这是可能的。

我尝试了什么

  1. 在构建管道中定义一个variablein variables,并使用$(name)或检查它是否在in中尝试在发布管道中访问它env

其他-动机这背后的动机是

  1. 阅读在构建管道步骤中使用的最新git-tag并将其公开给管道变量VERSION(实际上,在此期间我们会修补补丁)
  2. 发布版本是一个手动步骤。
  3. 如果发布了某个版本,则azure-devops gui向我们显示了发布管道的所有变量,这些变量“在发布期间可设置-包括我们要通过以下方式发布此软件包的版本:
  4. 我们希望此“版本”中预先加入构建管道的版本,以作为下一个版本的建议
  5. 在发布管道中,我们签出仓库,将VERSION标记添加为标签,然后使用此版本打包/发布工件
刘o

如何在发布管道中使用构建管道中的自定义变量

您可以尝试使用REST API发布定义-更新来更新发布管道中的默认变量,以使用在构建管道中定义的值。

PUT https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions?api-version=5.1

细节:

构建管道中定义一个自定义变量例如TestValue,值是123

在此处输入图片说明

还要在Release管道中使用默认定义相同的自定义变量123

在此处输入图片说明

然后添加一个内联powershell脚本来调用REST APIDefinitions - Update以更新发布管道中的默认值:

$url = "https://vsrm.dev.azure.com/<OrganizationName>/<ProjectName>/_apis/release/definitions/<DefinitionId>?api-version=5.1"

Write-Host "URL: $url"
$pipeline = Invoke-RestMethod -Uri $url -Method Get -Headers @{
    Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Write-Host "Pipeline = $($pipeline | ConvertTo-Json -Depth 100)"

# Update an existing variable named TestValue to its new value 987
$pipeline.variables.TestValue.value = "$(TestValue)"

####****************** update the modified object **************************
$json = @($pipeline) | ConvertTo-Json -Depth 99


Write-Host "URL: $json "

$updatedef = Invoke-RestMethod -Uri $url -Method Put -Body $json -ContentType "application/json" -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"}

write-host "==========================================================" 
Write-host "The value of Varialbe 'TestValue' is updated to" $updatedef.variables.TestValue.value

在这种情况下,我们可以在对构建管道进行排队时动态设置变量,并且该值将覆盖发布管道中的默认值,以便我们可以使用它来发布管道。

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Azure发布管道中获取构建管道标签?

来自分类Dev

Azure管道:如何删除Azure构建管道中的变量

来自分类Dev

在自定义管道中使用内置管道时出错

来自分类Dev

如何在自定义bash脚本中使用来自不同命令的管道输出?

来自分类Dev

Azure 管道:将变量从构建管道传递到发布管道

来自分类Dev

从预定义变量列表中选择构建管道

来自分类Dev

在 gitlab 中构建管道

来自分类Dev

Azure DevOps-从构建管道级别到发布管道级别获取变量值

来自分类Dev

在Azure devops中跨构建管道共享变量

来自分类Dev

在 Azure DevOps 中使用构建管道运行 Google 测试

来自分类Dev

如何在变量引用中使用管道?

来自分类Dev

简洁的评估:如何在依赖于%>%管道的自定义函数中使用dplyr :: na_if作为可选参数

来自分类Dev

Azure DevOps中的构建管道和发布管道之间有什么区别?

来自分类Dev

如何在.net解决方案中运行git命令在gitlab中构建管道

来自分类Dev

在 ngFor 中使用自定义管道时出错

来自分类Dev

如何在“钻石连接” Jenkins构建管道中复制工件?

来自分类Dev

我们如何在Azure DevOps构建管道中读取GIT提交消息?

来自分类Dev

如何在NestJS管道中进行自定义响应

来自分类Dev

Jenkins管道:如何从vars dir中的Groovy脚本访问自定义全局变量?

来自分类Dev

如何在Devops Release管道中的自定义条件下使用OR和And运算符

来自分类常见问题

使用Featureunion的自定义Transformer类的管道无法在完整管道中使用

来自分类Dev

使用Featureunion的自定义Transformer类的管道无法在完整管道中使用

来自分类Dev

如何在Drupal 7中使用自定义字段构建Webform?

来自分类Dev

如何在MSBuild脚本中使用自定义变量?

来自分类Dev

如何在@require(Greasemonkey)中使用自定义变量

来自分类Dev

Angular2在自定义管道中使用基本管道

来自分类Dev

如何从Jenkins构建管道调用插件

来自分类Dev

如何在发布定义管道中创建/更新环境?

来自分类Dev

如何在 PowerShell 构建步骤中查询 TFS 构建定义自定义变量

Related 相关文章

  1. 1

    如何从Azure发布管道中获取构建管道标签?

  2. 2

    Azure管道:如何删除Azure构建管道中的变量

  3. 3

    在自定义管道中使用内置管道时出错

  4. 4

    如何在自定义bash脚本中使用来自不同命令的管道输出?

  5. 5

    Azure 管道:将变量从构建管道传递到发布管道

  6. 6

    从预定义变量列表中选择构建管道

  7. 7

    在 gitlab 中构建管道

  8. 8

    Azure DevOps-从构建管道级别到发布管道级别获取变量值

  9. 9

    在Azure devops中跨构建管道共享变量

  10. 10

    在 Azure DevOps 中使用构建管道运行 Google 测试

  11. 11

    如何在变量引用中使用管道?

  12. 12

    简洁的评估:如何在依赖于%>%管道的自定义函数中使用dplyr :: na_if作为可选参数

  13. 13

    Azure DevOps中的构建管道和发布管道之间有什么区别?

  14. 14

    如何在.net解决方案中运行git命令在gitlab中构建管道

  15. 15

    在 ngFor 中使用自定义管道时出错

  16. 16

    如何在“钻石连接” Jenkins构建管道中复制工件?

  17. 17

    我们如何在Azure DevOps构建管道中读取GIT提交消息?

  18. 18

    如何在NestJS管道中进行自定义响应

  19. 19

    Jenkins管道:如何从vars dir中的Groovy脚本访问自定义全局变量?

  20. 20

    如何在Devops Release管道中的自定义条件下使用OR和And运算符

  21. 21

    使用Featureunion的自定义Transformer类的管道无法在完整管道中使用

  22. 22

    使用Featureunion的自定义Transformer类的管道无法在完整管道中使用

  23. 23

    如何在Drupal 7中使用自定义字段构建Webform?

  24. 24

    如何在MSBuild脚本中使用自定义变量?

  25. 25

    如何在@require(Greasemonkey)中使用自定义变量

  26. 26

    Angular2在自定义管道中使用基本管道

  27. 27

    如何从Jenkins构建管道调用插件

  28. 28

    如何在发布定义管道中创建/更新环境?

  29. 29

    如何在 PowerShell 构建步骤中查询 TFS 构建定义自定义变量

热门标签

归档