- 需求背景
项目源码在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
猜你喜欢
转载自blog.51cto.com/10874766/2513147
今日推荐
周排行