使用 Azure Pipelines 发布 Maven 项目(YAML/经典版)

使用 Azure Pipelines,可以将 Maven 项目发布到组织中的 Azure Artifacts 源、其他组织中,以及发布到公共注册表(如 Maven Central)。 本文将指导你使用 YAML 和经典管道发布 Maven 项目。

先决条件

将包发布到同一组织中的源

  1. 登录到 Azure DevOps 组织,并导航到你的项目。
  1. 登录到 Azure DevOps 集合,然后导航到项目。
  1. 选择管道>生成,然后选择生成定义。
  1. 选择管道,然后选择您的管道定义。
  1. 选择编辑,然后将以下代码片段添加到 YAML 管道。
steps:
- task: MavenAuthenticate@0
  displayName: 'Authenticate to Azure Artifacts feed'
  inputs:
    artifactsFeeds: 'MavenDemo,MavenDemoFeed2'        ## Select one or multiple feeds to authenticate with.
- script: |
   mvn deploy
  displayName: 'Publish'

将包发布到其他组织中的源

若要将包发布到另一个 Azure DevOps 组织中的源,必须先在目标组织中创建个人访问令牌。

导航到托管目标源的组织,并使用打包>读取和写入范围创建个人访问令牌。 复制个人访问令牌,因为需要在以下部分中使用它。

创建服务连接

  1. 登录到管道运行所在的 Azure DevOps 组织,然后导航到你的项目。

  2. 导航到项目设置>服务连接

  3. 选择“ 新建服务连接”,选择 “Maven”,然后选择“ 下一步”。

  4. 选择 用户名和密码 作为 身份验证方法,然后输入 存储库 URL存储库 ID

  5. 输入用户名(占位符,因为 Azure Pipelines 将使用pom.xml配置文件和之前创建的个人访问令牌进行身份验证)。 对于 密码,请粘贴个人访问令牌。 提供服务连接的名称,并选中“授予对所有管道的访问权限”复选框。

  6. 完成时选择“保存”。

发布包

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择管道,然后选择您的管道定义。

  3. 选择编辑,然后将以下代码片段添加到 YAML 管道。

steps:
- task: MavenAuthenticate@0
  displayName: 'Authenticate to Azure Artifacts feed'
  inputs:
    MavenServiceConnections: <NAME_OF_YOUR_SERVICE_CONNECTION> 

- script: |
   mvn deploy
  displayName: 'Publish'