You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps流水线中使用PublishBuildArtifacts@1发布Jar包?

Azure DevOps 发布Jar文件到工件源配置指南

一、先确保Jar文件已生成到工件暂存目录

PublishBuildArtifacts@1任务只会发布指定路径下的文件,所以首先得把构建好的Jar文件放到$(Build.ArtifactStagingDirectory)这个系统预设目录里:

  • 如果是Maven项目,在打包任务后添加复制文件步骤:
    - task: CopyFiles@2
      inputs:
        sourceFolder: '$(System.DefaultWorkingDirectory)/target' # Maven默认Jar生成目录
        contents: '*.jar' # 匹配所有Jar文件
        targetFolder: '$(Build.ArtifactStagingDirectory)'
    
  • 如果是Gradle项目,将sourceFolder调整为$(System.DefaultWorkingDirectory)/build/libs即可。

二、配置PublishBuildArtifacts@1任务

基于你查到的示例,结合Jar文件场景的完整配置如下:

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)' # 指定发布目录
    artifactName: 'MyJarArtifacts' # 自定义工件名称,方便后续识别
    publishLocation: 'Container' # 默认值,发布到当前项目的Azure DevOps工件容器

核心参数说明:

  • pathToPublish:必须指向存放Jar的目录,使用系统变量$(Build.ArtifactStagingDirectory)是最佳实践,避免硬编码路径。
  • artifactName:自定义工件名称,后续在Azure DevOps的「工件」页面可直接看到该名称。
  • publishLocation:默认Container即发布到当前项目的Azure DevOps工件源,无需额外配置。

三、完整流水线示例(以Maven项目为例)

trigger:
- main # 触发分支,根据你的项目调整

pool:
  vmImage: 'ubuntu-latest' # 也可选择windows-latest

steps:
# Step 1: Maven打包生成Jar
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    goals: 'package'
    publishJUnitResults: false
    jdkVersionOption: '1.8' # 匹配你的项目JDK版本
    mavenVersionOption: 'Default'

# Step 2: 复制Jar到暂存目录
- task: CopyFiles@2
  inputs:
    sourceFolder: '$(System.DefaultWorkingDirectory)/target'
    contents: '*.jar'
    targetFolder: '$(Build.ArtifactStagingDirectory)'

# Step 3: 发布Jar到工件源
- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)'
    artifactName: 'MyJarArtifacts'

四、经典编辑器(可视化界面)配置方式

如果不用YAML,通过可视化界面操作:

  1. 在流水线编辑页点击「+」添加任务,搜索「Publish Build Artifacts」并选择版本1的任务。
  2. 在任务配置面板:
    • 「Path to publish」填写$(Build.ArtifactStagingDirectory)
    • 「Artifact name」填写自定义名称(如MyJarArtifacts)
    • 「Publish location」保持默认「Azure Pipelines」即可。
  3. 需提前添加「Copy Files」任务:搜索「Copy Files」,配置源文件夹为Jar生成目录(如Maven的$(System.DefaultWorkingDirectory)/target),目标文件夹为$(Build.ArtifactStagingDirectory),匹配规则填*.jar。

发布完成后,可在Azure DevOps项目的「流水线」→「工件」页面找到发布的Jar文件。

内容的提问来源于stack exchange,提问作者user2835387

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 04:12:18