【问题标题】:How to pass variable from build to release in azure build to release pipeline如何在 azure build 中将变量从 build 传递到 release 到发布管道
【发布时间】:2020-08-17 23:29:45
【问题描述】:

如何在 azure build 中将变量从 build 传递到 release 到发布管道: 我们在 CI 管道中有变量——>我们必须在发布管道中传递该变量——>该变量必须在另一个 yaml 文件中设置。 这可能吗?

【问题讨论】:

    标签: bash azure-devops environment-variables azure-pipelines-release-pipeline build-pipeline


    【解决方案1】:

    目前,我们只能将变量组中的变量设置为静态值,并在构建和发布中使用它。

    详细方法请参考玛丽娜在此问题中的回答:VSTS : Can I access the Build variables from Release definition?

    但是根据您的描述,您想要的是在构建期间设置变量,然后在发布管道中使用它。

    没有官方的传递变量的方法遵循这个。作为一种解决方法,您可以使用一些 3rd-partly 扩展,将值存储在文件中(json、xml、yaml,你有什么)并将其作为构建工件附加。这样你就可以读取版本中的文件并再次设置变量。

    看看这个类似的问题:How to get the variable value in TFS/AzureDevOps from Build to Release Pipeline?

    【讨论】:

    • 感谢您的回答,我还有一个问题,正如您提到的将值存储在 json 或 xml 中,是否有任何参考链接??
    • @krishna 感谢您的更新。你可以在 GitHub 中参考这个任务的代码:github.com/nkdAgility/azure-devops-variable-tools
    • 此外,如果我的回复有帮助或给出了正确的方向。感谢marking it as an answer,这也将帮助社区中的其他人。
    • 嗨,帕特里克,作为他们提到的注释,它仅适用于 powershell taks,不适用于 bash,所以还有其他选择。看到问题是我们将变量设置为 sname=TEST_Name echo "##vso[task.setvariable variable=outputName;isOutput=true]$sname" 所以我希望 outputName 在发布变量部分中传递,并且我有 yaml文件被视为 CI 管道中的工件,并且一些变量在 yaml 文件中替换,因此希望在发布变量部分设置 outputName 并在 yaml 文件中替换。请帮帮我兄弟
    • 嗨@krishna 害怕你正在寻找的东西现在不可用。一种可能有用的解决方法,在单个 yaml 文件中使用多个作业(构建作业、发布作业)。然后它能够​​在构建作业之间传递变量。例如,设置作业A的输出变量,并将该变量映射到作业B。详细请参考官方教程:docs.microsoft.com/en-us/azure/devops/pipelines/process/…
    猜你喜欢
    • 1970-01-01
    • 2022-07-29
    • 2022-01-21
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 2019-06-08
    • 1970-01-01
    相关资源
    最近更新 更多