zoukankan      html  css  js  c++  java
  • Jenkins 自动打 Git Tag

    背景

    客户端每次发热更都要记录下发布的热更版本号,之前都是手动写 txt 记录,我嫌麻烦,转而用手动打 git tag 来处理。后来把打热更的 Jenkins 也给 QA,让他们自己去发布。这就导致程序没法实时跟进 tag,因为已经不太关心什么时候发布热更了,于是决定把 tag 也加进自动流程。

    解决

    什么时机打

    在热更白名单发布后打 tag,这样即保证当前 git 节点是发布时的节点,并且即使 tag 冲突打失败了,也不会影响发布,这样不会哪天有啥突发情况非要程序处理。在 Jenkins 跑完所有打包命令,最后再加一个 Excute Shell 项即可。

    怎么提取想要的 tag 名称格式

    Shell字符串截取

    newVersion="$NewVersion" --1.19.2.3
    bigVersion=${newVersion%.*.*} --1.19
    curDate=$(date "+%Y%m%d") --20211018
    tagname=$bigVersion'/'$newVersion'_'$curDate --1.19/1.19.2.3_20211018
    

    怎么用 shell 打 git tag

    先 cd 到工程目录,再执行 git 命令。
    -m <tag附加的信息>
    -f 强制覆盖

     cd $ProjectPath
     git tag $tagname -m "$TagMessage" -f
     git push origin $tagname -f
    

    结果


  • 相关阅读:
    基本数据类型
    运算
    登录程序
    MySQL索引
    内存泄漏排查&CPU负载高排查
    dubbo
    SPI
    缓存,热点key
    Java BigDecimal
    Spring Bean's life
  • 原文地址:https://www.cnblogs.com/nickcan/p/15419687.html
Copyright © 2011-2022 走看看