Jenkins+Gitlab自动打TAG

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins+Gitlab自动打TAG相关的知识,希望对你有一定的参考价值。

  • 需求背景
    项目源码在Gitlab代码仓库中有多个gitlab子项目的代码,项目上线完成后,一般会对上线分支的代码进行分支合并到受保护的分支上,一般为Master分支,然后打TAG。这里结合Jenkins+Gitlab进行自动分支合并打TAG。
  • Jenkins配置
    进入Jenkins,新建Job,进入Job的Configure配置,配置参数化构建。
    技术图片
    Build选择添加Execute Shell。
    技术图片
  • 打TAG
    分支合并,打Tag这里由shell脚本实现,如下脚本内容:
    #!/bin/bash
    pro=`ls -l /data/git-release/web | awk ‘{print $9}‘ | sed ‘/^$/d‘`
    dir=/data/git-release/web
    tag=$1
    for i in $pro
    do
    cd $dir/$i
    echo "更新索引..."
    git pull
    echo "删除本地release分支..."
    git branch -D release
    echo "检出远程release分支..."
    git checkout --track origin/release
    echo "删除本地master分支..."
    git branch -D master
    echo "从release检出最新的master分支代码..."
    git checkout -b master --track origin/release
    echo "重置master分支代码..."
    git push origin master
    echo "重置完成,主干代码已更新.开始标注tag.."
    git tag -a $tag -m "$tag"
    echo -e "tag标注结束,开始推送tag $tag..."
    git push origin $tag
    echo -e "$tag 推送成功,本次发版结束."
    done

以上是关于Jenkins+Gitlab自动打TAG的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 自动打包后打一个tag并同步到origin

jenkins系列(11)-自动打tag升级篇

jenkins系列(11)-自动打tag升级篇

jenkins + gitlab 快速搭建(docker-compose) 时间,时区 同步

Gitlab+jenkins持续集成+自动化部署

玩转Jenkins - 使用Jenkins给Git自动打Tag