Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS—使用Migrator.net自动化IIS和SQL Server的部署_Tfs_Msbuild_Continuous Integration_Tfsbuild_Azure Devops - Fatal编程技术网

TFS—使用Migrator.net自动化IIS和SQL Server的部署

TFS—使用Migrator.net自动化IIS和SQL Server的部署,tfs,msbuild,continuous-integration,tfsbuild,azure-devops,Tfs,Msbuild,Continuous Integration,Tfsbuild,Azure Devops,我正在尝试自动化部署过程 目前,需要运行以下步骤: 在Visual Studio中运行外部工具以调用Migrator.net(使用MSBUILD)来更新数据库 右键单击web项目并在本地发布 将发布文件夹复制到该特定网站的所有web服务器 我现在一直在研究如何直接从VisualStudioTeamServices进行部署 我已经创建了一个生成定义,该定义将编译我的代码,并且使用生成定义的“进程”选项卡中的MSBuild参数,将使用发布配置文件直接发布到目标计算机上的IIS。论点如下: /p:

我正在尝试自动化部署过程

目前,需要运行以下步骤:

  • 在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脚本,该脚本将完成我想要的所有操作,并且只使用Team Services调用该脚本。而不是在构建定义中使用工作流