首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Azure DevOps管道发布失败?

为什么Azure DevOps管道发布失败?
EN

Stack Overflow用户
提问于 2019-11-10 23:18:47
回答 3查看 2.9K关注 0票数 2

这是一个构建没有错误的ASP.NET Core3.0项目,但是当它触发管道以发布到时,它会失败,出现以下错误:

2019-11-10T23:09:23.8008460Z ##errorError:没有找到带有指定模式的包: D:\a\r1\a***.zip

需要做些什么来修复释放管道?管道的发布正在将最新的构建作为它的产物。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-11-15 03:18:41

管道YAML缺少以下任务。不知道为什么这不包括在ASP.NET核心模板中,对于刚开始使用Azure DevOps的开发人员来说,这非常令人困惑。

代码语言:javascript
复制
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: true

- task: CopyFiles@2
  inputs:
    targetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'
票数 2
EN

Stack Overflow用户

发布于 2019-11-13 01:05:54

假设

下面的信息假设您是来自构建管道的适当的发布构建工件,并且您已经在发布管道中添加了正确的构建工件。

在发布管道中,您已经在Artifacts区域中指定了一个构建工件

当将构建工件添加到发布管道时,您选择给它一个Build Artifact别名。这意味着在租约上(默认设置),您的.zip文件将位于$(system.DefaultWorkingDirectory)/Build Artifact/的某个子目录中。

当您启动发行版时,会在代理中为每个发布管道创建一个新的唯一文件夹,并将工件下载到该文件夹中。$(System.DefaultWorkingDirectory)变量映射到此文件夹。

为了确保每个工件下载的唯一性,链接到发布管道的每个工件源自动提供一个称为源别名的特定下载位置。可以通过变量访问此位置: $(System.DefaultWorkingDirectory)\[source alias] 这种唯一性还确保,如果以后在链接工件源的原始位置重命名(例如,重命名Azure管道中的构建管道或在Jenkins中重命名项目),则不需要编辑任务属性,因为代理中定义的下载位置不会更改。 默认情况下,源别名是链接工件源时所选源的名称,以下划线作为前缀;取决于工件源的类型,这将是构建管道、作业、项目或存储库的名称。您可以从发布管道的工件选项卡中编辑源别名;例如,当您更改构建管道的名称并希望使用反映生成管道名称的源别名时。

(来自一些丰富的文档

不要使用***.zip (这不是正确的通配符语法)搜索包,而是使用Build Artifact/**/*.zip

  • **用于递归地搜索目录。
    • (我不知道是哪个文件夹)

  • *用于搜索路径的给定级别的一部分。
    • 的任何文件/文件夹
      • 以(SomeFile.*)开头
      • 以(*File.zip)结尾
      • 我认为包含(*meFi*)
票数 3
EN

Stack Overflow用户

发布于 2020-05-17 03:24:28

当添加源类型" build“的工件时,选择"Default version”作为“build管道默认分支的最新版本”,如下所示:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58793826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档