当前位置: 首页 > 知识库问答 >
问题:

如何在Azure DevOps yaml管道中设置环境状态

凌清夷
2023-03-14

我正在Azure Devops中创建CICD管道。

我有一个动态设置名称的管道。

name: 'Set dynamically below in a task' 

然后在构建阶段我更新它

[string] $date = (Get-Date -Format 'yyyyMMdd')
[string] $projectVersion = (Get-Content 'version.json') -join "`n" | ConvertFrom-Json | Select -ExpandProperty "version"      
[string] $buildName = "$projectVersion.$(Build.BuildId)+$date.API"     
Write-Host "##vso[build.updatebuildnumber]$buildName"

我目前有3个阶段

  • 构建
    • 建立起来
    • 通过VSO命令设置构建名称
    • 发布神器
    • 下载构件并部署到开发环境
    • 下载工件并部署到测试环境

    实际上,我正在使用Azure Devops中的环境来跟踪所有部署,这就是问题所在。在“管道”视图中正确更新管道生成编号时

    当我转到环境选项卡时,显示的是未更新的构建名称。

    我怎样才能改变这一点?

共有1个答案

和斌
2023-03-14

您可以在不同的环境之间进行设置,例如

FIRSTENVIRONMENT
echo "##vso[task.setvariable variable=VAR1;isOutput=true;]$VALUE";

SECONDENVIRONEMENT
- job: ‘JOBNAME’
       variables:
         var2: $[ dependencies.Build.outputs[Firstenvironment.VAR1] ]
 类似资料:
  • 在jenkins声明式管道中,如何基于自定义groovy/powershell方法设置环境变量的值?例如,如果我有一个如下所示的delcarative管道,我可以使用一个共享库方法来设置这个值吗?本质上,我试图使用一个多分支声明管道jenkins作业,它有一个部署阶段,但我需要确保开发分支部署到DEV,发布分支部署到STG,但使用相同的管道。我的想法是创建一个基于自定义方法设置的环境变量(可能在共

  • 问题内容: 我需要在python脚本中设置一些环境变量,并且我希望从python调用的所有其他脚本(shell脚本)(将是子进程)来查看设置的环境变量。该值为数字。 如果这样做,它会抱怨说1必须是字符串。我也想知道一旦设置它,如何在python(在脚本的后半部分)中读取环境变量。 问题答案: 你可能需要考虑其他方面的代码健壮性; 当你将整数值的变量存储为环境变量时,请尝试 然后为了进行检索,请考虑

  • 问题内容: 如何从内部设置一些环境变量以与类似命令一起使用? 这是我目前所拥有的: 我想在启动脚本中设置环境变量(例如),同时仍然能够仅通过一个命令来启动应用程序。 问题答案: 在脚本命令中设置环境变量: 然后在您的应用中使用。 注意:确保它可以跨平台工作。如果只关心Mac / Linux,则可以忽略它。

  • 问题内容: 我已经开始在Django项目中工作,我想设置一些环境变量,而不必手动设置它们或将bash文件作为源。 我想设置以下变量: 我已经读过这篇文章,但这并不能解决我想要的问题。另外,我尝试在Preferences- > Build,Execution,Deployment- > Console- > Python Console / Django Console中设置环境变量,但是它设置了解

  • 问题内容: 我的Jenkins管道看起来像这样(请原谅一些小的语法错误): 我的意图是与拥有一个节点,与拥有一个节点。 我实际上看到的是,命令运行时在两个节点上都设置了。 根据本教程,“ [特殊变量]的属性是当前节点上的环境变量。” 因此,我希望这能奏效。 问题答案: 在本教程的后面,它说: 在这种情况下,请勿使用env: 因为环境变量的覆盖仅限于对管道运行是全局的,而不是当前线程(以及代理)的局

  • 问题内容: 我正在尝试这样做 结果: null / build / 如何使用全局环境创建环境? 问题答案: 我认为您应该使用: 就像在“环境”步骤中一样,您正在定义环境变量,以后可以通过 env.your-variable-name访问