我正在寻找一种部署到多个不同环境的方法。
即,dev、uat、prod1 和 prod2 服务器
我的印象是 msdeploy 可以为此工作。目前我们有一些使用类似命令部署的东西
"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:contentPath="D:\sourcepath" -dest:contentPath="D:\destpath", computerName=PRODSERVER1
"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:contentPath="D:\sourcepath" -dest:contentPath="D:\destpath", computerName=PRODSERVER2
这会起作用,但是在我正在开发的需要部署的应用程序中,涉及到数据库连接,需要根据环境进行更改。
<connectionStrings>
<add name="DEVServer" connectionString="Data Source=DEVServer\SQLinstance;Initial Catalog=DBNAME;User ID=sqluser;Password=sqlpassword" providerName="System.Data.SqlClient" />
</connectionStrings>
此外,由于这是一个 WCF 服务,我有一个端点的身份,也需要根据环境进行更改
<identity>
<dns value="DEVServer" />
</identity>
有没有办法对此进行参数化?我应该设置多个 web.config 文件吗?最简单的方法是什么?