zoukankan      html  css  js  c++  java
  • jenkins持续集成springboot

    1、可以配置项目标签

    PS:这里Default Value值修改为master

    2、代码地址,这里并没有拉取制定标签的代码,而是拉取了最新版本代码,如果要拉取指定标签代码需要把*/master修改成$version_tag。

    3、Pre Steps与Build,通过Pre Steps修改pom.xml的版本,一次构建一个版本,版本规则自定义。

    # 更新pom依赖版本号
    version=`awk '/<version>[^<]+</version>/{gsub(/<version>|</version>/,"",$1);print $1;exit;}' pom.xml`
    # sed  格式:0.0.1-SNAPSHOT   使用正则分组  
    newVersion=`echo $version | sed 's/(.*..*.).*(-.*)/1'$BUILD_NUMBER'2/'`
    mvn versions:set -DnewVersion=$newVersion versions:commit

    上面是直接使用BUILD_NUMBER变量,并不符合我们的实际要求,正常逻辑是每次读取pom.xml版本号,然后版本号加1,之后再改写pom.xml的版本号(下面示例版本规则是 1.0.3)

    # 更新pom依赖版本号
    version=`awk '/<version>[^<]+</version>/{gsub(/<version>|</version>/,"",$1);print $1;exit;}' pom.xml`
    versionLast=`echo $version | sed 's/.*..*.(.*)/1/'`
    let versionLast++
    newVersion=`echo $version | sed 's/(.*..*.).*/1'$versionLast'/'`
    mvn versions:set -DnewVersion=$newVersion versions:commit

    #eval sed -i '0,/$version/s//$newVersion/' pom.xml

    4、运行spring boot项目

    echo "Stopping SpringBoot Application"
    version=`awk '/<version>[^<]+</version>/{gsub(/<version>|</version>/,"",$1);print $1;exit;}' pom.xml`
    newVersion=`echo $version | sed 's/(.*..*.).*(-.*)/1'$BUILD_NUMBER'2/'`
    pid=`ps -ef | grep osp-ethscan.jar | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
       kill -9 $pid
    fi
    cp -f /root/.jenkins/jobs/etherscan/workspace/target/osp-ethscan-$newVersion.jar /opt/test/osp-ethscan.jar
    BUILD_ID=dontKillMe nohup java -jar /opt/test/osp-ethscan.jar > /opt/test/out.log 2>&1 & 
    

      

    版本控制标签:

    [root@10 1.0.7]# cat /home/jenkinsShell/jenkins_Pre_Steps_ExecuteShell.sh 
    #!/bin/sh
    echo "=========================== start update version ========================="
    cd $1
    # 将变更的内容提交到git仓库
    git pull origin master
    version=`awk '/<version>[^<]+</version>/{gsub(/<version>|</version>/,"",$1);print $1;exit;}' pom.xml`
    echo $version
    git add pom.xml
    git commit -m "jenkens update pom version"
    git tag $version -m "jenkens update pom version"
    git push origin $version
    
    echo "=========================== end update version =========================="
    

      

  • 相关阅读:
    Cannot find or open the PDB file from http://bbs.csdn.net/topics/350149584 呼吁大家忽视结贴率为0的求助。
    使用GDI+位图数据扫描线处理图像的小技巧 from http://blog.csdn.net/maozefa/article/details/4533770
    解决Visual C++ 编译器中混合 .c 文件时收到 C1853 预编译头错误的方法 from http://live.aulddays.com/tech/08/c1853precompile/
    使用GDI+保存用户的绘图数据.
    char、varchar、text和nchar、nvarchar、ntext的区别
    ASP.NET Cache
    ECMAScript 引用类型
    Meta标签——网站中必不可少的一部分
    ECMAScript 原始类型
    web性能测试分析工具篇
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/11022454.html
Copyright © 2011-2022 走看看