目录
一、实验
1.Maven安装
(1)环境
表1 主机
主机 | 架构 | 版本 | IP | 备注 |
jenkins | jenkins主节点 | 2.414.2 | 192.168.204.15:8080 | gitlab runner (从节点) |
maven | 3.8.6 | |||
gitlab | gitlab 主节点 | 12.10.14 | 192.168.204.8:82 | jenkins slave (从节点) |
tomcat | nexus | 3.63 | 192.168.204.13:8081 |
(2)CentOS环境安装步骤
tar -xf apache-maven-3.8.6-bin.tar.gz #解压
mv apache-maven-3.8.6 /usr/local/maven #移动文件
#配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk-11.0.15.1
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
#刷新配置
source /etc/profile
mvn -v #查找Maven版本
(3)新建本地仓库目录
mkdir -p /data/builds_cache/repository
vim /usr/local/maven/conf/settings.xml
2.Nexus搭建公共组仓库及Maven全局配置文件
(1)配置文件使用策略
第一种方式:maven项目打包默认使用全局配置文件
maven clean package
第二种方式:maven项目打包指定局部项目配置文件(需要在项目目录下单独配置一个settings.xml)
maven clean package -s settings.xml
这里准备采取第一种方式。
(2)使用公共仓库策略
第一种方式:公共仓库(阿里云)
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
第二种方式:私有仓库
<mirror>
<id>mymavenrepo</id>
<mirrorOf>central</mirrorOf>
<name>my self maven</name>
<url>http://192.168.204.13:8081/repository/mymavenrepo/</url>
</mirror>
第三种方式:混合仓库组(包含阿里云公共仓库和私有仓库)
<mirror>
<id>myrepo</id>
<mirrorOf>central</mirrorOf>
<name>public maven</name>
<url>http://192.168.204.13:8081/repository/my-public/</url>
</mirror>
这里准备采取第三种方式。
(3)搭建私有仓库
①新建仓库
②选择maven2(hosted),默认只能传依赖包
③创建mymavenrepo,Disable redeploy禁止重复部署
④完成
⑤新建仓库,选择raw(hosted),可以传普通文件
⑥创建mylocalrepo,Allow redeploy允许重复部署
⑦打开上传界面
⑧上传至mylocalrepo
⑨查看
⑩描述信息
⑪上传至mymavenrepo
⑫查看
⑬详细信息
(3)搭建代理仓库
①选择maven2(proxy)代理类型
②命名myrepo,地址为阿里云公共仓库
(4)搭建仓库组
①选择maven2(group)组类型
、
②命名my-public,并添加公共和私有仓库到组
(5)Maven修改全局配置文件
①复制仓库组地址
② 修改配置文件,添加仓库组地址
3.使用Maven命令下载Nexus制品
(1)Nexus复制依赖项命令
(2)Maven项目修改配置文件,添加依赖项
cd /opt/maven-test-master/
vim pom.xml
(3)添加依赖项
<dependency>
<groupId>com.david</groupId>
<artifactId>devopsservice</artifactId>
<version>1.1.1</version>
</dependency>
(4)使用全局配置文件打包项目
mvn clean package
(5)完成,下载地址为Nexus的仓库组地址
(6)查看打包完的com目录,为私有仓库上传的依赖项
cd /data/builds_cache/repository/com/david/devopsservice/1.1.1/
ls