Jenkins自动合并Gitlab分支的代码

本文详细介绍了如何在Jenkins中配置GitLab账号的读写权限,通过设置.git-credentials和gitconfig来免密操作GitLab仓库。并提供了一个shell脚本示例,用于自动将指定分支合并到主分支master,并推送到远程仓库,适用于持续集成/持续部署(CI/CD)流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.申请gitlab读写权限账号

2.在Jenkins的主机上,运行Jenkins程序的用户的home目录下,执行:

[root@cicd merge]#cd /home/
[root@cicd home]#vim .git-credentials 

http://{用户名}:{密码}@{IP地址}

在这里插入图片描述

[root@cicd home]#git config --global credential.helper store

查看.gitconfig文件,有
[credential] helper = store
在这里插入图片描述
这样,操作git就不需要再输入账号密码。

3.分支合并到主分支master

#!/bin/bash
RepositoryURL=$1
Branch=$2
#CommitContent=$3
ProjectName_tmp=${RepositoryURL##*/}  #拿掉最后一个 / 及其左边的字串: gw-packing.git
ProjectName=${ProjectName_tmp%\.*}  #删掉最后一个  .  及其右边的字符串 : gw-packing
echo $ProjectName
echo $Branch

nowPath=`pwd`
rm -fr $nowPath/*
git clone $RepositoryURL
sleep 3  #等待代码下载完成,否则会报错
cd $ProjectName
sleep 1
git checkout -b $Branch origin/$Branch
sleep 1
git checkout master
sleep 1
git merge $Branch
sleep 1
git push origin master

4.脚本使用
在Jenkins新建自由风格项目,在“构建”中,“增加构建步骤”,“execute shell ” 填写执行脚本的命令,例如:

sh /home/merge/git_merge_branch_to_master.sh git@ip:gw/gw-packing.git dev

脚本执行有两个参数,第一个参数为项目的gitlab地址,第二个为分支的名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值