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的主要内容,如果未能解决你的问题,请参考以下文章