jenkins php 回滚,jenkins 备份和回滚(by:自己查资料学习)

本文详细介绍了如何在Jenkins中配置项目以实现构建的备份和回滚,包括设置Discard Old Builds参数,参数化构建过程,添加shell脚本来执行备份和回滚操作。同时,讲解了在不同服务器间的远程部署方法,涉及到SSH密钥对的生成与配置,确保安全无密码的远程同步。
摘要由CSDN通过智能技术生成

jenkins备份和回滚

首先在项目配置中的General中:

1.勾选Discard old builds(丢弃旧的构建)

Days to keep builds 代表保存构建的天数,Max# of builds to keep 代表保存构建的最大个数。如图

bVbvOXq?w=753&h=309

2.勾选This project is parameterized(参数化构建过程)

添加Choice Parameter(选择参数)和String parameter(文本参数),设置两个参数,status-构建动作,默认值有deploy-发布,rollback-回滚;version-构建记录id值,默认值为0如图:

bVbvOZz?w=740&h=789

在Source Code Management(原码)

选好git链接,并填写好分支

bVbvPkS?w=1497&h=562

在Build(构建)里,添加shell脚本。

bVbvPt4?w=765&h=705

脚本如下:

case $status in

deploy)

echo "status:$status"

backup_path="${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_NUMBER}/target"

deploy_path="/data/wwwroot/www.test.com/"

if [ -d $backup_path ];

then

echo "$backup_path is exists!"

else

mkdir -p $backup_path

fi

sudo rsync -r -z -P -p -t --delete $deploy_path $backup_path/

sudo rsync -r -z -P -p -t --delete ${WORKSPACE}/ $deploy_path

echo "deploy done!"

;;

rollback)

echo "status:$status"

echo "build_id:$version"

backup_path="${JENKINS_HOME}/jobs/${JOB_NAME}/builds/$version/target"

deploy_path="/data/wwwroot/www.test.com/"

rm -rf $deploy_path

cp -r $backup_path/ $deploy_path

echo "roll_back done!"

;;

*)

exit

;;

esac

然后点击保存。

点击Build with Parameters,选择构建动作,deploy部署或rollback回滚,选择rollback则需要输入version构建记录ID,version构建记录ID对应的是构建历史的ID,例如#20的20

bVbvPhQ?w=734&h=670

然后点击build就可以了。

=====================分割线==========================

上面的方法用的是项目和jenkins系统在同一个服务器的脚本,

如果使用远程部署,就是项目和jenkins系统不在一个服务器下,要使用远程的方式,如下:

1.生成秘钥对:

在jenkins所在的服务器生成密钥对,首先要查看jenkins的配置文件,看一下jenkins的权限是在jenkins下,还是root下。然后在对应的权限文件夹内,生成密钥对。

(1)jenkins下:

在jenkins所在的服务器切换到 jenkins账户:su - jenkins

创建密钥:ssh-keygen

生成后得到密钥对位置:

Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa

Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub

将公钥内容 id_rsa.pub 拷贝到客户端 /root/.ssh/authorized_keys 文件内

(2)root下:

在jenkins所在的服务器切换到 root账户:su - root

创建密钥:ssh-keygen

生成后得到密钥对位置:

Your identification has been saved in /root/.ssh/id_rsa

Your public key has been saved in /root/.ssh/id_rsa.pub

将公钥内容 id_rsa.pub 拷贝到客户端 /root/.ssh/authorized_keys 文件内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值