• 【Llinux】【jenkins】自动化运维四 整合gitlab、docker发布java项目


    jenkins发布java项目

    过程参考发布vue项目。https://www.cnblogs.com/jxd283465/p/11543431.html 大同小异。

    vue建立的是Freestyle project,构建环境选择node

    java建立的是maven project,构建环境使用maven

    1。配置全局工具中maven

    maven及maven私服安装参考:https://www.cnblogs.com/jxd283465/p/11548593.html

    配置maven的配置文件

    配置jdk安装路径

     配置maven安装路径

    2。新建maven项目

     3。配置项目描述、git参数

     

     4。配置源码管理git

     如果使用sonar插件一定要配置Name

     Branch Specifier为上方参数化构建的name,$表示调用参数

     5。配置触发器

    当提交代码到gitlab时,自动触发jenkins自动发布

    gitlab webhook配置

     

     6。配置构建环境

     7。配置启动shell

    勾选 “Run only if build succeeds”,当项目构建成功执行shell

     

    cd /home/jenkins/.jenkins/workspace/MingByteSiteApi
    bash /home/jenkins/jenkins.sh 192.168.8.10:5000/mingbytesiteapi MingByteSiteApi
    mvn package  -DskipTests 
    
    mvn dockerfile:build
    echo '================开始推送镜像================'
    sudo docker push 192.168.8.10:5000/mingbytesiteapi:latest #推送镜像,镜像文件已经在前面的mvn步骤打好了
    echo '================结束推送镜像================'
    
    sudo docker run -d --name MingByteSiteApi -p:8089:8089 192.168.8.10:5000/mingbytesiteapi
    echo "finished!" 

     jenkins.sh

    t=`sudo docker ps | grep $1|awk '{print  $1}'|sed 's/%//g'`;
    b=``;
    if [ $t ];
    then
    sudo docker stop  $t
    echo "停止容器成功"
    sudo docker rm $t
    echo "删除容器成功"
    else
    echo "首次部署";
    fi
    
    tagnum=`git tag | wc -l`;
    tag=(`git tag`)
    a=0;
    echo $tagnum
    until [ $tagnum -lt 3 ]
    do
       echo $a 删除tag:${tag[$a]}
       git tag -d ${tag[$a]}
       git push $2 :refs/tags/${tag[$a]}
       a=`expr $a + 1`
       tagnum=`expr $tagnum - 1`
    done

    8。集成sonar代码审查

    整合sonar代码审查参考:https://www.cnblogs.com/jxd283465/p/11548590.html

     

     9。整合tag打包备份、整合邮件提醒

    整合tag备份参考:https://www.cnblogs.com/jxd283465/p/11548589.html

    整合邮件提醒参考:https://www.cnblogs.com/jxd283465/p/11548580.html

     

     

     

  • 相关阅读:
    JavaScript数据结构——模仿ES6中定义的类似的Set类
    webpack简单的项目配置发生的错误
    三国
    把握中国经济的大局与动力
    人生道路
    C++
    https://计算机等级分类总结
    https://计算机四级
    https://计算机三级
    https://计算机二级
  • 原文地址:https://www.cnblogs.com/jxd283465/p/11548576.html
Copyright © 2020-2023  润新知