繁体   English   中英

如何从管道访问环境变量并将其传递给发布管道

[英]How to access an environment variable from a pipeline and pass it to a release pipeline

我有一个自动构建和部署的应用程序。

电流:

Git 推送 -> Azure(构建)管道创建工件 -> Azure 发布管道使用“复制文件”获取工件并将其部署到命令行服务器。

我需要在命令行中进行一些自动配置,这需要每个构建都唯一的环境变量。

如何从管道访问环境变量并以某种方式将其传递到发布管道,以便我可以在命令行的命令中使用它?

用于导出环境变量的 NPM 命令:

  "releasecustom": "export VUE_APP_SENTRY_RELEASE=$(UniqueValue) && node 
   scripts/createreleasesentry.js && npm run build && node scripts/finalizereleasesentry.js",

我有点担心这不支持开箱即用。 例如,您可以使用 powershell 任务在文件中记下您的值( 或为此使用扩展名)。

New-Item -Path $(Build.ArtifactStagingDirectory)/vardrop -Name "variables.txt" -ItemType "file" -Value "This is a text string."

然后,您必须将其作为工件发布。

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)/vardrop'
    artifactName: vardrop

作为发布管道中的下一个,您需要下载工件并阅读此文件并设置变量(使用 powershell 任务)。

您在这里有一个示例,但是如果您在文件中的值多于一个,则需要将它们拆分并单独分配。

echo "##vso[task.setvariable variable=dp]$(cat $(System.ArtifactsDirectory)/vardrop/variables.txt)"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM