Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Pipelines 使开发人员能够将 Maven 工件发布到同一组织内、跨其他组织的 Azure Artifacts 源以及 Maven Central 等公共注册表。 本文介绍如何使用 YAML 和经典管道发布 Maven 项目。
先决条件
| 产品 | 要求 |
|---|---|
| Azure DevOps | - Azure DevOps 组织和项目。 - Azure Artifacts 源。 - 工作管道。 - 权限: - 若要授予对项目中所有管道的访问权限,你必须是项目管理员组的成员。 - 若要创建服务连接,您必须具有 服务连接的 管理员 或 创建者 角色。 |
将包发布到同一组织中的源
- 登录到 Azure DevOps 组织,并导航到你的项目。
- 登录到 Azure DevOps 集合,然后导航到项目。
- 选择管道,然后选择您的管道定义。
选择 “编辑”,然后将以下代码片段添加到 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 Pipelines 将包发布到馈送,请确保在馈送设置中,为 项目集合生成服务 和项目的 生成服务 身份分配 馈送发布者(贡献者) 角色。 有关更多详细信息,请参阅管理权限。
将包发布到其他组织中的源
若要将包发布到其他 Azure DevOps 组织中的源,必须先在目标组织中创建个人访问令牌(PAT),然后使用该 PAT 创建服务连接并使用目标源进行身份验证。
创建个人访问令牌
导航到托管目标源的组织。
创建一个具有打包>范围的个人访问令牌。
复制你的个人访问令牌,以供在以下部分中使用。
创建服务连接
登录到管道运行所在的 Azure DevOps 组织,然后导航到你的项目。
导航到项目设置>服务连接。
依次选择新建服务连接、Maven 和下一步。
对于 身份验证方法,请选择 “用户名和密码”。 输入 存储库 URL 和 存储库 ID。
在 “用户名 ”字段中输入任何字符串值(这是必需的,但 Azure Pipelines 将使用
pom.xml之前创建的配置和个人访问令牌进行身份验证)。- 对于 密码,请粘贴之前创建的个人访问令牌。
- 为服务连接提供 名称 。
- 选中“ 授予对所有管道的访问权限 ”复选框。
完成时选择保存。
发布包
登录到 Azure DevOps 组织,并导航到你的项目。
选择管道,然后选择您的管道定义。
选择 “编辑”,然后将以下代码片段添加到 YAML 管道:
steps: - task: MavenAuthenticate@0 displayName: 'Authenticate to Azure Artifacts feed' inputs: MavenServiceConnections: <NAME_OF_YOUR_SERVICE_CONNECTION> - script: | mvn deploy displayName: 'Publish'