我们有一个创建-反应-应用程序项目,它从环境中获取一些构建参数(例如Auth0配置),这意味着这些环境变量会影响react。
我们正在为这个项目开发一个Azure DevOps构建管道,虽然在管道的变量页面上定义变量是直接的,但是根据构建哪个分支,如何以不同的方式设置变量并不明显。
例如,我们希望dev分支在Auth0中构建使用或开发租户,而发布分支和主分支应该在Auth0中构建使用或生产租户(相同的变量,两个不同的值)。
对此是否有记录/支持的方法?还是一些“最佳实践”?
我已经读到您可以修改PowerShell脚本中的变量,例如在这个职位中。这是最好的方法吗?脚本如何检查正在构建哪个分支,以选择正确的值集?
我还发现DevOps有一个可变组的概念。我还没有阅读过它,但是定义每个分支(或分支模式)变量组并让脚本选择要应用哪个组会是一种好方法吗?多么?
发布于 2019-01-15 07:15:32
如何根据构建的分支设置具有不同环境的vars的项目的DevOps构建?
现在,恐怕在构建定义中使用Power-Shell脚本任务来获取源分支名称,然后根据分支名设置环境变量是一个不错的选择。因为构建管道中还不支持嵌套变量。
PowerShell脚本如下:
$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变量组,但对于构建定义则不适用。有关一些细节,请查看这条线。
希望这能有所帮助。
https://stackoverflow.com/questions/54177906
复制相似问题