因此,构建代码的方式是,我们在解决方案中有几个项目,每个项目都有多个webjob。我们已经配置了手动方式,使用run.cmd文件释放这些多个webjob,然后根据要尝试释放的webjob将相关的run.cmd文件复制到根文件夹。
我想知道是否有任何方法可以通过Azure DevOps中的生成/发布定义来执行此操作,而不必将多个Web作业分解为单个项目。这些多个网络作业也都生活在同一个App Service中。
答案 0 :(得分:1)
您所做的是目前最简单的方法,您可以仅在Azure DevOps生成/发布管道中克隆该过程。在Azure DevOps中,没有任何方法可以不必将多个Web作业分解为单个项目。
我们已经配置了手动释放这些多个Web作业的方式 使用run.cmd文件并将相关的run.cmd文件复制到 根文件夹,具体取决于我们要释放的Webjob。
例如,在构建解决方案步骤中定义(添加一些复制文件步骤以复制必要的文件):-
Visual Studio Build(解决方案:***。sln,MSBuild参数: / p:DeployOnBuild = true / p:WebPublishMethod =包装 / p:SkipInvalidConfigurations = true / p:PackageLocation =“ $(build.artifactstagingdirectory)\”)
发布构建工件(发布路径:$(build.artifactstagingdirectory);工件名称:drop;工件类型:Server)
为此构建定义创建发布定义并添加任务
您可以类似地为WebJob2.zip创建另一个Azure App Service Deploy任务,并通过单个生成和发布管道部署所需的任意多个Webjob。