我正在使用Visual Studio Online来在CI构建通过后持续部署我的项目。然而,我必须使用发布配置文件来构建生产环境的web.config转换,以便部署的网站将使用生产数据库而不是开发数据库。我已经遵循Scott Hanselman的博客文章中的步骤,在CI构建定义中添加了MSBuild参数。我的参数如下:
/p:DeployOnBuild=true /p:PublishProfile=[publish profile name] /p:AllowUntrustedCertificate=true /p:UserName=[credentials obtained from Azure Website portal] /p:Password=[from the portal as well]
看起来已经工作了,部署的网站现在正在使用生产数据库。
然后我注意到,在CI构建定义中的“部署”部分下,有一个参数称为:“路径到部署设置”。从这篇文章中可以看到:
“网站的.pubxml文件的路径,相对于存储库的根文件夹。云服务不支持。”
这正是我想要的。所以我删除了MSBuild参数,通过选择弹出窗口中的pubxml文件来设置部署设置的路径,并再次尝试。
然而,这种好又简单的方法根本不起作用。即使它指向同一个pubxml文件,并且两种方式都有绿色的CI构建,后一种方式似乎仍然使用默认的web.config而不是部署后转换的web.config。
所以我很好奇,是否有人知道MSBuild参数中的PublishProfile和“路径到部署设置”之间的区别?我是否正在正确地执行此操作?