概述

云帮平台通过rbd-repo组件实现了Maven仓库管理功能,该组件基于 Artifactory 开源版本实现。

如果您已经部署了Maven仓库管理系统,如 ArtifactoryNexus,可以通过配置云帮的rbd-repo组件与您本地的Maven仓库对接。如果您还没有Maven仓库,可以直接使用云帮内置的Maven仓库进行应用的构建。

本文介绍对接云帮外部Maven仓库,实际上就是配置云帮的Artifactory与外部Artifactory或者Nexus对接,同时还会介绍如何使用云帮内置的Maven仓库来上传jar包,最终通过云帮构建java应用。

注意:

云帮的java源码构建模块是通过Maven进行编译和打包的,云帮会把所有的仓库地址都镜像(mirror)到内部maven仓库地址 maven.goodrain.me,云帮Maven的settings.xml信息如下:

  1. <mirror>
  2. <id>acp-repo</id>
  3. <mirrorOf>*</mirrorOf>
  4. <name>acp repo</name>
  5. <url>http://maven.goodrain.me/</url>
  6. </mirror>

如果要自定义maven仓库,请参考 自定义maven配置文件

对接外部的Maven仓库

对接Maven仓库 - 图1

如上图所示,只需要在云帮内部Maven仓库管理系统中创建Remote(远程)类型的仓库,指向您现有Maven仓库地址,就可以实现与云帮平台的对接。

提示:

云帮内置Maven仓库管理系统登录信息:

地址:http://管理节点IP:8081

用户名:admin

密码:password

出于安全考虑,建议您第一时间修改Maven仓库的管理员密码。

下面以一个示例来说明一下对接方法:

1. 创建Remote类型的仓库

  • 访问 http://管理节点IP:8081 并用管理员账号登录。
  • Admin-Repositories 选择 Remote
    对接Maven仓库 - 图2

  • 新建Remote(远程)仓库
    对接Maven仓库 - 图3

  • Remote(远程)仓库类型选择Maven
    对接Maven仓库 - 图4

2. 配置Remote(远程)仓库

对接Maven仓库 - 图5

提示:

Repository Key:仓库的名称,不能与其他仓库重名,示例的仓库名为: demo-repo

URL :远程仓库的地址 如果您外部的Maven仓库是Artifactory搭建,地址类似于 http://<maven域名>/artifactory/list/<仓库名>/ ,如果您的外部仓库是Nexus搭建,地址类似于 http://maven域名/nexus/content/repositories/<仓库名>/

URL地址填写完成后,可以点击 Test 按钮测试连接的有效性,如果连接有效可以点击 “Save & Finish” 按钮完成创建。

3. 将新建仓库添加到libs-release虚拟仓库中(重要)

内部仓库默认会创建一个名为 libs-release的虚拟仓库,虚拟仓库(virtual)并不是真实的仓库,它是用于组织本地仓库和远程仓库的逻辑单元。由于云帮镜像了所有仓库地址,因此需要将远程仓库加到虚拟仓库中。

Admin——>Repositories——>Virtual 选择 libs-release

对接Maven仓库 - 图6

使用云帮内置的Maven仓库

如果您没有Maven仓库管理系统,可以直接使用云帮内置的Maven仓库管理系统。下面介绍操作步骤:

1. 创建 Local 类型的Maven仓库

创建一个Local 类型的Maven仓库,名称为 repo-local

2. 上传自己的jar包

  • 选择本地仓库 repo-local
    对接Maven仓库 - 图7

  • 上传jar包
    对接Maven仓库 - 图8

3. 查看依赖声明信息

对接Maven仓库 - 图9

4. 将repo-local添加到libs-release 虚拟仓库中

该操作与上文一致,此处省略。

原文: https://www.rainbond.com/docs/stable/best-practice/ci-cd/connection-maven-repository.html