Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
Azure devops 在Azure DevOps发布定义中从同一项目部署多个WebJob?_Azure Devops_Azure Web App Service_Azure Pipelines_Azure Pipelines Release Pipeline_Azure Pipelines Build Task - Fatal编程技术网

Azure devops 在Azure DevOps发布定义中从同一项目部署多个WebJob?

Azure devops 在Azure DevOps发布定义中从同一项目部署多个WebJob?,azure-devops,azure-web-app-service,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-build-task,Azure Devops,Azure Web App Service,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,因此,我们构建代码的方式是,我们的解决方案中有几个项目,每个项目都有多个WebJob。我们已经配置了一种手动方式,使用run.cmd文件释放这些多个webjob,并根据要释放的webjob,将相关的run.cmd文件复制到根文件夹 我想知道是否有任何方法可以通过Azure DevOps中的构建/发布定义做到这一点,而不必将多个WebJob拆分为单个项目。这些多个webjob也都位于同一个应用程序服务中。您所做的是目前最简单的方法,您可以在Azure DevOps构建/发布管道中克隆该过程。在Az

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


我想知道是否有任何方法可以通过Azure DevOps中的构建/发布定义做到这一点,而不必将多个WebJob拆分为单个项目。这些多个webjob也都位于同一个应用程序服务中。

您所做的是目前最简单的方法,您可以在Azure DevOps构建/发布管道中克隆该过程。在Azure DevOps中,如果不将多个WebJob拆分为单个项目,就无法做到这一点

我们已经配置了一种手动方式来释放这些多个WebJob 使用run.cmd文件并将相关run.cmd文件复制到 根文件夹取决于我们尝试释放的webjob

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

  • Visual Studio生成(解决方案:**.sln,MSBuild参数: /p:DeployOnBuild=true/p:WebPublishMethod=Package /p:SkipInValidConfiguration=true /p:PackageLocation=“$(build.artifactstagingdirectory)\”)

  • 发布生成工件(发布路径:$(Build.artifactstagingdirectory);工件名称:drop;工件类型:Server)

  • 为此生成定义创建发布定义并添加任务

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

  • 类似地,您可以为WebJob2.zip创建另一个Azure应用程序服务部署任务,并通过单个构建和发布管道部署任意数量的webjob。

    因此,我会将每个webjob捆绑到一个zip文件中,以便在发布定义中部署?@Michelle不,您不必这样做。您也可以选择文件夹。在这里还可以看到类似的答案:好的,我已经使用您的帮助创建了一个成功的构建/发布系统!非常感谢。我还希望更多地了解引擎盖下的情况。据我所知,wejobs基本上就是app_data/jobs/{triggered/continuous}路径下的任何文件夹。对吗?考虑到这一点,可以仅使用一个应用程序服务部署来部署多个WebJob。但是,我不认为这是好的做法?你能给我指一些关于幕后发生的事情/良好实践的文档吗?非常感谢。嗨@Michelle是的,仅适用于webjobs。只需创建一个目录并在其中创建文件夹结构App_Data/jobs/continuous/。将web作业内容复制到上面创建的文件夹结构中。关于这个概念,你可以看看Ajay Kumar Yadav[MSFT]在这个问题上的回答。它能够仅使用一个应用程序服务部署来部署多个WebJob。对于一个好的实践,最好让webjob与每个项目保持对应,就像我之前评论中Marina Liu-MSFT的回复一样。嗨,Patrick!事实上,现在还有另一个问题,我刚才已经能够回到这里。使用自动发布后,手动发布脚本不再工作。它遇到的错误是:“在远程计算机上处理请求时出错。C:\Program Files\dotnet\sdk\2.1.507\sdk\Microsoft.NET.sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sd k.Publish.MSDeploy.targets(139,5):错误:在“D:\home\site\wwwroot”上处理“创建目录”操作时遇到错误