2017-08-09 92 views
0

我正在使用VSTS与TFS存储库托管我的代码。该解决方案是一个Asp.Net核心解决方案,并包含几个项目。我在解决方案中有两个项目用于不同的应用程序服务 - 一个将部署到Web应用程序,另一个则部署到API应用程序。将VSTS部署到多个应用服务

问题是如何配置部署这些工件的单个构建定义/发布定义。目前,我有两个定义 - 每个定义一个,我希望有一个定义。我怎么去配置这个?

回答

1
  1. 您可以创建发布配置文件(右键单击一个项目=>发布),与这些项目的相同名称(包位置的相对路径,如<DesktopBuildPackageLocation>..\..\a\WebApp</DesktopBuildPackageLocation>)。通过这种方式,网络应用发布的结果将在不同的文件夹
  2. 指定Visual Studio构建任务的MSBuild参数将如下所示:/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:PublishProfile="[profile name]"
  3. 添加发布构建构件来发布这些Web应用程序发布的结果(例如路径发布:$(build.artifactstagingdirectory)
  4. 创建一个新版本的定义
  5. 添加两个部署应用程序的任务(如Azure的应用服务部署)
  6. 指定相应的包部署

更新:

使用多个发布任务来发布每个包也没关系(不需要发布配置)。

+0

谢谢,听起来很有希望。让我看看它,然后回来。 –

+0

@NitinRastogi欢迎在此发布结果。 –

+0

谢谢@strain-MSFT - 我能够完成基于上述提示的功能。我必须在构建定义中使用两个发布任务,每个都生成它自己的命名包。然后在发布定义中,部署到Azure App Services的两项任务。我不必执行第1步和第2步,然后依次执行。你想更新答案,因为我相信1和2是不需要的 - 只有两个发布任务?我会将你的回答标记为完整性的答案。 –