使用Jenkins合并gitlab服务器上的代码

摘要:
1.申请gitlab读/写权限帐户2.在Jenkins主机上,在运行Jenkins程序的用户的主目录下,执行:touch。git凭证。git credentialshttp://{用户名}:{密码}@{IP地址}gitconfig--全局凭据。helperstore查看。gitconfig文件。有[credential]helper=存储

1、申请gitlab读写权限账号

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

touch .git-credentials
vim .git-credentials
http://{用户名}:{密码}@{IP地址}

git config --global credential.helper store

查看.gitconfig文件,有

[credential] helper = store

这样,操作git就不需要再输入账号密码

3、

a、合并分支到主干

cat git_merge_branch_to_master.sh 
#!/bin/bash
RepositoryURL=$1
Branch=$2
ProjectName_tmp=${RepositoryURL##*/}
ProjectName=${ProjectName_tmp%.*}
echo $ProjectName
echo $Branch

nowPath=`pwd`
rm -fr $nowPath/*
ls
git clone $RepositoryURL
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

b、合并主干到分支

cat git_merge_master_to_branch.sh
#!/bin/bash
RepositoryURL=$1
Branch=$2
ProjectName_tmp=${RepositoryURL##*/}
ProjectName=${ProjectName_tmp%.*}
echo $ProjectName
echo $Branch

nowPath=`pwd`
echo $nowPath
rm -fr $nowPath/*
ls
git clone -b $Branch $RepositoryURL
cd $ProjectName
sleep 1
git checkout -b master origin/master
sleep 1
git checkout $Branch
sleep 1
git merge master
sleep 1
pwd
#git add .
#git commit -m "merge master to branch"
#git push $RepositoryURL $ProjectName
ls
git push origin $Branch
mv ./* .. && cd .. && rm -fr $ProjectName

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

source ~/.bashrc && bash /apps/sh/git_merge_branch_to_master.sh http://10.0.0.200/dxmall/pms-service.git 20170705_shop_pms_1.5.1

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

免责声明:文章转载自《使用Jenkins合并gitlab服务器上的代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇GhostScript命令参数详解(转)Qt Creator快捷键下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jenkins版本迭代以及回滚

一、摘要 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 镜像打的是latest版,如果需要回滚的话,就比较麻烦了。 因此,需要修改为参数化构建。镜像的版本,使用时间戳。 本文采用的环境,依然是上一篇的环境,就不多介绍了。 二、参数化构建 发布 修改 ph任务,勾选 此项...

在Windows上搭建Git Server

作为版本控制工具大多公司会选用Git,但svn也具有一定的优势,在对开源项目管理方面,Git具有一定的优势,我们可以将自己的项目放到GitHub上面,供大家交流学习,但一些企业项目和需要保密的闭源项目如果选择使用GitHub托管的话就会收取昂贵的费用。 所以对于一些公司项目就需要搭建自己的本地Git服务器,浏览大量网页后发现基本绝大部分Git服务都是在Li...

gitlab发送邮件配置

在使用gitlab过程中,通常需配置邮件来实现代码管理服务器向成员(member)发送邮件。本文将实现gitlab中邮件配置 1.编辑 /etc/gitlab/gitlab.rb,修改配置邮件,这里以网易邮箱为例: 2. wq保存退出 3.重新配置gitlab gitlab-ctl reconfigure 4.通过命令行测试邮件是否发送成功 #git...

git操作

Git常用操作命令 1、git的原理 基本概念 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 add:将工作区同步到暂存区 commit:将暂存区同步到本地仓库 push:将本地仓库同步到远程仓库 pull:将远程仓库同步到工作区 checkout:将本地仓库...

Github强制找回管理员账号密码

步骤: 1. 登录Github所在的服务器,切换用户为git:su git 2. 进入Github的Rails控制台:gitlab-rails console production 3. 查看超级管理员用户:user = User.where(id: 1).first 返回结果如下所示: 4. 修改root用户的密码: user.password = "...

Jenkins错误“to depth infinity with ignoreexternals:true”问题解决

试下以下解决方法: 1、可能是SVN插件版本过低导致,升级SVN插件。 2、可能是构建时自己手动修改了代码,而SVN检出时无法覆盖导致的错误,可以先删除jenkins检出的代码,然后再检出一次去构建。 3、配置SVN插件,如下: 参考:https://issues.jenkins-ci.org/browse/JENKINS-9748...