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个环境。所以不同项目需要不同仓库的依赖。

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

    专业从事搬砖多年,还是在继续搬砖中,厚积薄发~
  • 相关阅读:
    VC 常见问题百问
    python windows 环境变量
    Check server headers and verify HTTP Status Codes
    Where are the AES 256bit cipher suites? Please someone help
    outlook 如何预订会议和会议室
    安装Axis2的eclipse插件后,未出现界面
    windows 环境变量
    python 时间日期处理汇集
    openldap学习笔记(使用openldap2.3.32)
    set p4 environment in windows
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/14685328.html
Copyright © 2011-2022 走看看