当使用GitLab Runner 运行CICD pipeline时,有时会用到第三方包管理工具做为依赖包的来源。那么这里就介绍nexus3的安装以及几种常见语言的仓库配置方法。供大家参考。
1. 安装nexus3
安装nexus3的docker版安装非常简单,关键是将容器中的/nexus-data目录挂载到宿主机上,用于后续向外网隔离环境迁移动作。
在具备docker环境的主机上,执行以下命令,启动nexus3。
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/nexus-data sonatype/nexus3:3.30.1
2. 配置nexus3的remote仓库
为了使gitlab的pipeline中,编译代码能够拉取相关第三方包,需要配置remote仓库。该仓库的主要作用是,将各种语言的中央仓代理到nexus3上。
其中,测试时使用的C、C#、2种语言在nexus3上有默认的remote仓库分别为:
C语言:conan-proxy
C#语言:nuget.org-proxy
另外,java和python语言需要手工配置remote仓库。
2.1 配置alyun-proxy
java配置了阿里云的镜像仓库用于加速。
-
点击右上角signin按钮,输入admin的用户名和密码。
-
用admin用户登录nexus3后,点击页面顶部齿轮图标,进入管理员配置页面。
-
在左侧栏中选择repository-> repositories,在右侧内容栏上方,点击create repository按钮,选择Maven(proxy)类型的recipe。
-
在配置页面中,分别填写:Name为alyun-proxy, Remote storage为http://maven.aliyun.com/nexus/content/groups/public/
-
点击配置页最下方的create repository按钮。
mvn的阿里云镜像仓创建成功。
2.2 python语言需要手动创建remote仓库
- 用admin用户登录nexus3后,点击页面顶部齿轮图标,进入管理员配置页面。
- 在左侧栏中选择repository-> repositories,在右侧内容栏上方,点击create repository按钮,选择pypi(proxy)类型的recipe。
- 在配置页面中,分别填写:Name为pypi-remote, Remote storage为https://pypi.org/
- 点击配置页最下方的create repository按钮。