jenkins配置多nexus仓库多maven版本

jenkins多环境多nexus仓库,多maven版本

使用优化,jenkins多环境多nexus仓库,多maven版本

1、多settings.xml设置构建

背景:jenkins本地安装一个maven版本,默认只有一个settings.xml文件指定本地和远端nexus仓库,因为一个新建相同项目复制到不同环境的jenkins项目避免推送deploy覆盖原本的依赖,所以需要将新的环境项目的依赖推送至指定的新的本地仓库和nexus。

参考:https://www.cnblogs.com/dannylinux/p/12622237.html

1.1 复制新的settings.xml

复制新的配置文件并更改nexus仓库和本地仓库路径登录信息

复制代码
/usr/local/apache-maven-3.6.3/conf   ##进行maven配置目录

cp settings.xml settings_dev.xml  ##复制新的配置文件,这里面指定了配置文件,如需参考请看
https://www.cnblogs.com/Crazy-Liu/p/14752129.html这个链接中的settings.xml内容。

cat settings_dev.xml 如下

<localRepository>/data/jenkins/repo222</localRepository>   ##repo222就是我新指定的本地的路径
以下是nexus的地址,确认好地址目录啊,要和研发的一致。账号密码就不需要我说了把。
      <id>nexus-releases</id>
      <mirrorOf>*</mirrorOf>
      <url>http://192.168.223.234:8081/repository/maven-public/</url> 
    </mirror>
    <mirror>
      <id>nexus-snapshots</id>
      <mirrorOf>*</mirrorOf>
      <url>http://192.168.223.234:8081/repository/maven-snapshots/</url>

1.2 在项目中应用指定的settings.xml文件

比如我新复制的是settings_dev.xml文件,

如果你的项目是maven项目,那就在项目里面指定,如图:

高级设置拉下来这里有设置路径的地方:

再次构建此项目就是用的指定的settings.xml文件了。

就有人会问了,那我是流水线呢或者自由风格的项目呢,也可以的,直接在mvn 构建命令里面指定settings.xml文件。

如我的是自由风格项目,通过shell脚本构建mvn。

复制代码
    mvn clean deploy --settings /usr/local/apache-maven-3.6.3/conf/settings_dev.xml -Dmaven.test.skip=true -P $env  更改后的
**#    mvn clean install -Dmaven.test.skip=true -P $env  原本的**

这时构建也是指定的配置文件了,引用的也是特定的nexus仓库和本地仓库。

本地仓库也有了repo222文件夹,repo是默认settings.xml的本地仓库

复制代码
[root@saas-cdt-jenkinis:/data/jenkins/shell/czt-saas-dev]#ll /data/jenkins/
total 16
drwxr-xr-x  7 jenkins jenkins  103 Jun  1 16:42 ./
drwxr-xr-x  6 root    root     118 Jun  1 17:21 ../
-rw-r--r--  1 root    root      27 May 13 14:29 package-lock.json
drwxr-xr-x 24 jenkins jenkins 4096 Apr 23 09:55 repo/
drwxr-xr-x 23 jenkins jenkins 4096 Jun  1 17:23 repo222/
drwxr-xr-x  6 jenkins jenkins  116 May 27 17:46 shell/
drwxr-xr-x  6 jenkins jenkins   96 Jun  1 10:45 webapps/
drwxr-xr-x 48 jenkins jenkins 4096 Jun  1 17:30 workspace/
[root@saas-cdt-jenkinis:/data/jenkins/shell/czt-saas-dev]#
​

至此就完美了,就不需要再本地安装多个maven版本了。完美解决我的问题哈。

因为我是在同一个jenkins上部署了develop和release 2个环境。所以不同项目需要不同仓库的依赖。

相关推荐
abcnull17 小时前
Springboot+Vue2的Web项目小白入门Demo快速学习!
java·elementui·vue·maven·springboot·web·小白
牛奶咖啡1320 小时前
CI/CD——使用Jenkins自动化构建java项目之使用传统方式部署java web项目jpress
ci/cd·jenkins·jenkins创建任务·实现jpress的自动化部署·git的ssh主机密钥问题解决·配置ssh免密登录·在线安装jdk1.8环境
弹简特20 小时前
【精通Postman接口测试】04-Postman的CLI命令+Jenkins和Newman+Allure+Jenkins自动化接口持续集成
自动化·jenkins·接口测试·postman
弹简特1 天前
安装Jenkins保姆级教程
jenkins
牛奶咖啡132 天前
CI/CD——使用Jenkins实现自动化部署与持续集成之jenkins插件与凭据配置
ci/cd·jenkins·jenkins必备插件安装·jenkins全局工具配置·jenkins的凭据配置·jenkins自动化部署流程·jenkinsgitlab集成
摇滚侠2 天前
DSL 学习 ElasticSearch 主要就是学习 DSL 查询语言
学习·elasticsearch·jenkins
abcnull2 天前
传统的JavaWeb项目Demo快速学习!
java·servlet·elementui·vue·javaweb
ShiJiuD6668889992 天前
filter & listener
servlet
IT学长2 天前
JavaWeb图书管理系统设计与实现(附源码)
mysql·servlet·毕业设计·课程设计·图书管理系统
myrh pdmd3 天前
maven导入spring框架
数据库·spring·maven