【发布时间】:2021-05-20 05:18:46
【问题描述】:
我们有一个带有以下 system.net mailSettings 属性的 Web.config 文件:
<system.net>
<mailSettings>
<smtp configSource="mailSettings.config" />
</mailSettings>
</system.net>
mailSettings.config 文件位于项目子根目录下,仅包含以下几行:
<smtp from="reports@companyxyz.com" deliveryMethod="Network">
<network enableSsl="true" host="smtp.sendgrid.net" port="587" userName="" password="" />
</smtp>
我们希望将用户名和密码属性存储为发布管道中的变量(最终存储在 Azure Key Vault 中,但不在此范围内),并且在 Azure 应用部署任务(下面的 yaml)中有一个 XML 选项变量转换/替换。
steps:
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy Azure App Service'
inputs:
azureSubscription: '$(Parameters.ConnectedServiceName)'
appType: '$(Parameters.WebAppKind)'
WebAppName: '$(Parameters.WebAppName)'
enableCustomDeployment: true
TakeAppOfflineFlag: false
RenameFilesFlag: false
enableXmlTransform: true
enableXmlVariableSubstitution: true
我已经启用了,但是它怎么知道要转换 mailSettings.config 模板文件呢?
这是 XmlVariableSubstitution 开关的说明:
在构建或发布管道中定义的变量将与任何配置文件和 parameters.xml 的 appSettings、applicationSettings 和 connectionStrings 部分中的“key”或“name”条目匹配。变量替换在配置转换后运行。
注意:如果在发布管道和环境中定义了相同的变量,则环境变量将取代发布管道变量。
【问题讨论】:
标签: azure-devops azure-pipelines-release-pipeline