我们正在设置我们的发布定义,最终完成VSTS中最后一段CD / CI设置,并且遇到了我们无法转换配置的问题。
目前我们正在遵循Scott Hanselman's方法通过secrets.config保持连接字符串和秘密不在我们的web.config中,因为我们不希望任何提交给源代码控制的信息。如果这种情况有更好的实践,我们可以转换,但目前不确定这将如何与VSTS CD / CI集成。
我们已尝试使用XDT Transform Extension将我们的web.base.config转换为web.config以删除文件和configsource引用,但它似乎没有转换。
我们还使用IIS Web App Deploy任务进行XML转换和XML变量替换,但转换不起作用,因为工件中不存在web.base.config。我不确定为什么不会在构建时加入。
我们想知道这些不同步骤的最佳实践是什么,以及如何在不将配置设置提交到源代码管理的情况下成功完成内部部署。我们也想知道如何为控制台应用程序执行此方法。
答案 0 :(得分:1)
由于web.base.config文件未上传到源代码控制而构建代理机器上没有,因此您无法使用XDT转换或XML转换任务/功能。
您可以将数据存储在secret variable或Azure Key Vault中,并将其链接到发布定义。
例如:
#{mypassword}#
)替换为变量值(mypassword
)