zoukankan      html  css  js  c++  java
  • 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项目,那就在项目里面指定,如图:

     

    image-20210601181017533

     

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

    image-20210601181058414

     

    再次构建此项目就是用的指定的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 原本的

    image-20210601181307797

     

     

    这时构建也是指定的配置文件了,引用的也是特定的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个环境。所以不同项目需要不同仓库的依赖。

    原创哈,如果对你有帮助可以还请点赞推荐,谢谢!

    专业从事搬砖多年,还是在继续搬砖中,厚积薄发~
  • 相关阅读:
    Java-使用IO流对大文件进行分割和分割后的合并
    Java-单向链表算法
    Java-二分查找算法
    Java-二叉树算法
    Java-对象比较器
    Android中Activity的四种开发模式
    Struts2工作原理
    C++实现单例模式
    数组中有一个数字出现的次数超过数组的一半,请找出这个数字
    c++ enum用法【转】
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/14685328.html
Copyright © 2011-2022 走看看