我尝试通过添加两个 vsBuild 任务为每个项目创建两个不同的 zip。
在编写基于 yaml 的管道时,我面临两个问题:-
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)
因此,尽管管道成功完成,但无法部署任何内容。
问题的关键,我想应该是路径配置问题,无法访问你的webjob应用。
所以我建议您在门户中创建一个虚拟应用程序。
欲了解更多详情,您可以参考此博客。如果您需要进一步的帮助,请告诉我。
但没有添加任何内容
如果您只是在 vsBuild 任务中添加以下 MSBuild 参数,那么它将创建 zip 文件并将输出文件保存在 zip 文件中
/p:WebPublishMethod=Package /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\App_Data\jobs\continuous\somethingApp.zip"
对于将 Web API 和 webjob .NET CORE 项目部署到 azure webapp 服务的情况,基本上有两种可能的解决方案:
如果您使用 VSBuild 任务来构建解决方案,则只需构建两个项目并为可部署的 webApi 项目创建 zip 文件,然后在发布放置工件之前,确保将 webjob 项目构建文件(.dll 等)复制到 artifactstagingDirectory 格式为“App_Data\job”