gpt4 book ai didi

Azure Pipelines - 将内部版本号应用到应用程序设置中

转载 作者:行者123 更新时间:2023-12-02 07:05:13 24 4
gpt4 key购买 nike

我为一个项目设置了构建和发布管道,并且我希望能够将用于发布的构建号获取到正在运行的应用程序中。

我已经看到了许多关于如何使用 Release.Artifacts.{alias}.BuildNumber 变量来处理工件输出之类的内容的解释,但是我还没有找到如何使用它来直接更新应用程序服务的应用程序设置。我发现一些可在发布过程中使用的任务允许更改应用程序设置,但它们都不支持使用构建过程中的变量(仅允许设置静态值)

我希望在应用服务级别进行设置,以便网站和所有 webjob 都能够访问该变量(而不是必须更新多个 app.config 文件)。

有人能指出我正确的方向吗?

最佳答案

延迟更新,但这是我找到的基于 Powershell 的解决方案,到目前为止一直运行良好。

将此作为 Powershell 脚本添加到解决方案中,并更新构建过程以复制此工件

param (
$myResourceGroup,
$mySite,
$mySlot,
$buildNo
)


$webApp = Get-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup -Name $mySite -Slot $mySlot
$appSettingList = $webApp.SiteConfig.AppSettings

$hash = @{}
ForEach ($kvp in $appSettingList) {
$hash[$kvp.Name] = $kvp.Value
}

$hash['BuildNumber'] = $buildNo

Set-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup -Name $mySite -AppSettings $hash -Slot $mySlot

这将获取提供的参数并从插槽中检索当前的应用程序设置,并将 BuildNumber 设置添加/更新到接收到的 $buildNo 参数。

在发布过程中,我添加了一个 Azure Powershell 任务来调用此脚本,然后将“脚本参数”字段设置为以下内容

-myResourceGroup "WebResourceGroup" -mySite "myexamplservice" -mySlot "staging" -buildNo $(Build.BuildNumber)

现在我可以读取网站中的“BuildNumber”应用设置并获取已部署的内部版本号。

关于Azure Pipelines - 将内部版本号应用到应用程序设置中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com