使用Azure DevOps管道的.NET Core WebJob控制台应用程序CI / CD

时间:2019-12-12 12:47:02

标签: azure-devops azure-pipelines

我正在尝试通过Azure DevOps构建控制台应用程序。因此,我正在关注this tutorial

以下图片是我已经做过的。

构建解决方案管道

构建解决方案管道/发布

构建解决方案管道/工件

部署WebJob管道

部署WebJob管道/变量

当我运行 Build Solution 时,该zip似乎可以正常工作,因为我看到了它。

但是当我运行 Deploy WebJob Pipeline 时,我得到了##[error]D:\a\1\s\***.zip not found.。我尝试过wwwroot/App_Data/jobs/,但仍然是相同的错误。

我可能做错了什么?设置zippedArtifactPath的正确方法是什么?

4 个答案:

答案 0 :(得分:2)

您不正确地遵循了本教程。本教程告诉您创建发行版。您正在使用构建管道来尝试发布。尽管您可以这样做,但您不应该

您有两个选择:

  • 如果要继续使用视觉设计器,请使用发行版。查看“发行”标签。发行版可以与构建工件相关联,并且可以自动下载构建工件。
  • 如果要使用YAML,请参考YAML文档并设置要发布的多阶段管道。

答案 1 :(得分:0)

  

我可能做错了什么?

检查您的错误信息##[error]D:\a\1\s\***.zip not found,我们可以在second构建管道中找到,PS尝试在xxx\s构建管道中获取first文件夹中的xx.zip您将xx.zip发布到xxx\a文件夹中。

用于构建管道的$(System.DefaultWorkingDirectory)xx\s文件夹,而that for release pipelinexx\a文件夹。在第一个构建管道中,我们将xx.zip发布到xx\a文件夹的Build.ArtifactStagingDirectory中,因此无法在第二个构建管道的PS脚本中访问xx\s文件夹中的xx.zip。

  

设置zippedArtifactPath的正确方法是什么?

不建议使用两个构建管道来构建和部署一个Web应用程序。对于常规逻辑,我们应该像上面的Toturial Daniel 建议的那样,使用build + release管道之类的组合来实现。

答案 2 :(得分:-1)

[您的构建工件名称] \ webjobs_drop [您的压缩文件] .zip

“您的构建工件名称”-您应该从选择构建工件的发布管道Artifacts阶段获取它

答案 3 :(得分:-1)

我们可以使用此变量$(Release.PrimaryArtifactSourceAlias)获取工件目录。 在您的powerShell脚本中,您可以设置路径变量,例如:

web_1            | {'_func_path': 'reversion.admin.history_view',
web_1            |  'app_name': 'admin',
web_1            |  'app_names': ['admin'],
web_1            |  'args': (),
web_1            |  'func': <function VersionAdmin.history_view at 0x7f522292b9d0>,
web_1            |  'kwargs': {'object_id': '1586'},
web_1            |  'namespace': 'admin',
web_1            |  'namespaces': ['admin'],
web_1            |  'route': 'admin/stores/storecategory/<path:object_id>/history/',
web_1            |  'url_name': 'stores_storecategory_history',
web_1            |  'view_name': 'admin:stores_storecategory_history'}