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



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

电流:

Git推送->Azure(构建(管道创建工件->Azure发布管道拾取工件并使用"复制文件"将其部署在DigitalOcean服务器上,然后进入命令行。

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

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

用于导出环境变量的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)"

最新更新