我正在尝试自动化部署过程。
目前,需要运行以下步骤:
- 在Visual Studio中运行外部工具以调用Migrator.net(使用MSBUILD)来更新数据库
- 右键单击web项目并在本地发布
- 将发布文件夹复制到该特定网站的所有web服务器
我现在一直在研究如何直接从VisualStudioTeamServices进行部署。
我已经创建了一个编译代码的生成定义,并且使用生成定义的"进程"选项卡中的MSBuild参数,将使用发布配置文件直接发布到目标计算机上的IIS。争论是这样的:
/p:DeployOnBuild=true;PublishProfile="test_publish.pubxml";UserName=xxx;Password=xxx
这对于实际的web内容来说是一种魅力,但它不涉及数据库方面的内容。
正如我所提到的,更新数据库的外部工具调用MSBUILD,如下所示:
$(ProjectDir)Migrations.proj /target:MigrateUAT /p:To=-1 /p:password=xxx
如何更改生成定义以同时处理此MSBuild调用?我的MSBuild知识已经到了极限。
提前谢谢。
我还没有找到如何直接做到这一点。因此,我采用了编写一个大型MSBUILD脚本的方法,该脚本将执行我想要的一切,并且只使用TeamServices来调用该脚本。而不是在构建定义中使用工作流。