Dav*_*New 37 powershell tfs azure-web-sites azure-devops azure-pipelines
理想情况下,我想使用构建变量(在VSTS上)配置我们的Azure Web App应用程序设置,例如:
我们使用Powershell脚本执行发布任务.要设置应用程序设置,可以使用以下脚本:
param($websiteName, $appSettings)
Set-AzureWebsite -Name $websiteName -AppSettings $appSettings
Run Code Online (Sandbox Code Playgroud)
我可以手动将这些构建变量传递给Powershell脚本构建任务,如下所示:
PrepareAppSettings.ps1 -websiteName "MyWebApp" -appsettings @{"MyConnectionString" = $(MyConnectionString);"MyRandomService" = $(MyRandomService);"MyRandomServiceClient"=$(MyRandomServiceClient);"MyRandomServicePassword"=$(MyRandomServicePassword)}
Run Code Online (Sandbox Code Playgroud)
有没有办法将所有构建变量传递给脚本而不必在哈希表中显式指定每个变量?
Har*_*dhi 76
构建变量会自动作为环境变量传递给所有PowerShell脚本.
因此,如果您已myVar
在该Variables
部分中定义了变量.您可以$env:myVar
在脚本中访问它.这里需要注意的一点.
是转换为a _
.例如.如果您的变量是myVar.config
,您将在脚本中访问它$env:myVar_config
.
可用变量还包括变量,例如分支名称,内部版本号等.要查看所有可用变量,请运行虚拟构建/发布定义并添加具有内联类型的PowerShell任务并运行Get-ChildItem Env:
.这将显示所有可用的环境变量,您可以看到所有自定义变量.
更多细节可在此处获得
值得一提的是,秘密变量不会作为环境变量传递到脚本中(env:
在PS中).因此只有在作为脚本的参数传递时才可访问,例如.-MyPassword $(Password)
.请参阅https://docs.microsoft.com/en-us/vsts/pipelines/build/variables?view=vsts&tabs=batch#secret-variables
归档时间: |
|
查看次数: |
33185 次 |
最近记录: |