在基于 yaml 的多阶段管道中,我需要在一个应用程序服务上发布 webApp 和 webjobs,用于一个 sol 中的 2 个基于 dotnet 核心的项目

问题描述 投票:0回答:3

我尝试通过添加两个 vsBuild 任务为每个项目创建两个不同的 zip。

在编写基于 yaml 的管道时,我面临两个问题:-

  1. 在 webjob 项目路径中是
    DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\App_Data\jobs\continuous\somethingApp.zip"
    但没有添加任何内容。

2 当我部署 azure 应用程序服务时,在部署我的 Web 应用程序期间,我遇到以下错误:

at ExecState._setResult (D:\a\_tasks\AzureRmWebAppDeployment_497d490f-eea7-4f2b-ab94-48d9c1acdcb1\3.179.0\node_modules\azure-pipelines-task-lib\toolrunner.js:828:25)
    at ExecState.CheckComplete (D:\a\_tasks\AzureRmWebAppDeployment_497d490f-eea7-4f2b-ab94-48d9c1acdcb1\3.179.0\node_modules\azure-pipelines-task-lib\toolrunner.js:811:18)
    at ChildProcess.<anonymous> (D:\a\_tasks\AzureRmWebAppDeployment_497d490f-eea7-4f2b-ab94-48d9c1acdcb1\3.179.0\node_modules\azure-pipelines-task-lib\toolrunner.js:733:19)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:920:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)

因此,尽管管道成功完成,但无法部署任何内容。

azure .net-core azure-devops azure-web-app-service multistage-pipeline
3个回答
1
投票

问题的关键,我想应该是路径配置问题,无法访问你的webjob应用。

所以我建议您在门户中创建一个虚拟应用程序。

欲了解更多详情,您可以参考此博客。如果您需要进一步的帮助,请告诉我。

如何使用 Azure 应用服务部署任务将 webjob 从 azure devops 发布到 azure 应用服务


1
投票

但没有添加任何内容

如果您只是在 vsBuild 任务中添加以下 MSBuild 参数,那么它将创建 zip 文件并将输出文件保存在 zip 文件中

/p:WebPublishMethod=Package /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\App_Data\jobs\continuous\somethingApp.zip"

1
投票

对于将 Web API 和 webjob .NET CORE 项目部署到 azure webapp 服务的情况,基本上有两种可能的解决方案:

  1. 如果您使用 VSBuild 任务来构建解决方案,则只需构建两个项目并为可部署的 webApi 项目创建 zip 文件,然后在发布放置工件之前,确保将 webjob 项目构建文件(.dll 等)复制到 artifactstagingDirectory 格式为“App_Data\job”

© www.soinside.com 2019 - 2024. All rights reserved.