首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据构建的分支设置具有不同环境的vars的项目的DevOps构建?

如何根据构建的分支设置具有不同环境的vars的项目的DevOps构建?
EN

Stack Overflow用户
提问于 2019-01-14 08:27:40
回答 1查看 625关注 0票数 1

我们有一个创建-反应-应用程序项目,它从环境中获取一些构建参数(例如Auth0配置),这意味着这些环境变量会影响react。

我们正在为这个项目开发一个Azure DevOps构建管道,虽然在管道的变量页面上定义变量是直接的,但是根据构建哪个分支,如何以不同的方式设置变量并不明显。

例如,我们希望dev分支在Auth0中构建使用或开发租户,而发布分支和主分支应该在Auth0中构建使用或生产租户(相同的变量,两个不同的值)。

对此是否有记录/支持的方法?还是一些“最佳实践”?

我已经读到您可以修改PowerShell脚本中的变量,例如在这个职位中。这是最好的方法吗?脚本如何检查正在构建哪个分支,以选择正确的值集?

我还发现DevOps有一个可变组的概念。我还没有阅读过它,但是定义每个分支(或分支模式)变量组并让脚本选择要应用哪个组会是一种好方法吗?多么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 07:15:32

如何根据构建的分支设置具有不同环境的vars的项目的DevOps构建?

现在,恐怕在构建定义中使用Power-Shell脚本任务来获取源分支名称,然后根据分支名设置环境变量是一个不错的选择。因为构建管道中还不支持嵌套变量。

PowerShell脚本如下:

代码语言:javascript
运行
复制
$branch = $Env:Build_SourceBranchName
Write-Host "Current branch is $branch"
if ($branch -eq "Dev")
{
  Write-Host ("##vso[task.setvariable variable=testvar]testvalue")
}
else (($branch -eq "master") -or (($branch -eq "release")))
{
  Write-Host ("##vso[task.setvariable variable=testvar2]testvalue2")
}

有关更多细节,请在构建过程中查看测井命令

此外,对于可变群,我们可以在发布的定义中每个环境使用VSTS变量组,但对于构建定义则不适用。有关一些细节,请查看这条线

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54177906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档