在Azure DevOps版本定义中从同一项目部署多个WebJob?

时间:2019-07-16 03:30:59

标签: azure-devops azure-web-sites azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task

因此,构建代码的方式是,我们在解决方案中有几个项目,每个项目都有多个webjob。我们已经配置了手动方式,使用run.cmd文件释放这些多个webjob,然后根据要尝试释放的webjob将相关的run.cmd文件复制到根文件夹。

我想知道是否有任何方法可以通过Azure DevOps中的生成/发布定义来执行此操作,而不必将多个Web作业分解为单个项目。这些多个网络作业也都生活在同一个App Service中。

1 个答案:

答案 0 :(得分:1)

您所做的是目前最简单的方法,您可以仅在Azure DevOps生成/发布管道中克隆该过程。在Azure DevOps中,没有任何方法可以不必将多个Web作业分解为单个项目。

  

我们已经配置了手动释放这些多个Web作业的方式   使用run.cmd文件并将相关的run.cmd文件复制到   根文件夹,具体取决于我们要释放的Webjob。

例如,在构建解决方案步骤中定义(添加一些复制文件步骤以复制必要的文件):-

  1. Visual Studio Build(解决方案:***。sln,MSBuild参数:     / p:DeployOnBuild = true / p:WebPublishMethod =包装     / p:SkipInvalidConfigurations = true     / p:PackageLocation =“ $(build.artifactstagingdirectory)\”)

  2. 发布构建工件(发布路径:$(build.artifactstagingdirectory);工件名称:drop;工件类型:Server)

为此构建定义创建发布定义并添加任务

  1. Azure App Service部署
  2. 选择您的Azure订阅和应用程序服务名称;
  3. 选择您的包裹或文件夹: $(System.DefaultWorkingDirectory)** \ WebJob1.zip

您可以类似地为WebJob2.zip创建另一个Azure App Service Deploy任务,并通过单个生成和发布管道部署所需的任意多个Webjob。