jenkins php 部署,第一节:jenkins部署php代码(一)

1、jenkins服务器和各节点服务器之间,要配置基于密钥的登录 (本实例基于www用户)

(省略)

2、创建相应的目录,并授权属主属组为www用户

/deploy/tmp 临时目录

/deploy/tar 存放打包后的目录

/opt/wwwroot 远程服务器目录

/web/ 网站目录

3、配置jenkins

![](https://box.kancloud.cn/be5ceec23de2d45ff19ca128cd0a2add_972x413.png)

![](https://box.kancloud.cn/19d29d5194499acff551ada991ca5d46_1033x511.png)

![](https://box.kancloud.cn/259033444b4b999fdea37f85fbb85ca3_983x379.png)

构建成功后,创建一个tag,并传送到git服务器上

![](https://box.kancloud.cn/485a9a871181f327691762b6eabd16a3_1122x581.png)

4、编写Deploy和回滚脚本

[www@jenkins scripts]$ cat Deploy1.sh

#!/bin/bash

SrcDir="/var/lib/jenkins/workspace/test_yyg"

DeployCode="/deploy/tmp"

DstDir="/opt/wwwroot"

WebSite="/web/"

PRONAME="test_yyg"

if [ $# == 1 ];then

Ver_NUM=$(echo $1)

cd $SrcDir

if [ ${Ver_NUM} == 'latest' ];then

#版本回退到上一个版本

git reset --hard HEAD^

COMMITID="$(git rev-parse --short HEAD)"

ssh www@10.2.11.245 "rm -rf /web/${PRONAME} && ln -s /opt/wwwroot/${PRONAME}-${COMMITID} /web/${PRONAME}"

else

#版本回退到任意版本,请输入版本COMMITID

git reset --hard ${Ver_NUM}

ssh www@10.2.11.245 "rm -rf /web/${PRONAME} && ln -s /opt/wwwroot/${PRONAME}-${Ver_NUM} /web/${PRONAME}"

fi

else

cd $SrcDir && git pull

COMMITID="$(git rev-parse --short HEAD)"

#把版本库里获取的代码,拷贝一份到部署目录里,并且重命名这个项目(按照项目名-commitID号),并且把不要的目录删除掉,比如.git

PKGNAME="${PRONAME}-${COMMITID}"

cp -rf ${SrcDir} ${DeployCode}/ && cd ${DeployCode} && mv ${PRONAME} ${PKGNAME}

cd ${DeployCode}/${PKGNAME} && rm -rf .git

cd ${DeployCode} && tar zcf ${PKGNAME}.tar.gz ${PKGNAME}

#通过scp命令,把对应的目录拷贝到远程计算机中

scp -r ${DeployCode}/${PKGNAME}.tar.gz www@10.2.11.245:${DstDir}/

ssh www@10.2.11.245 "cd ${DstDir} && tar xf ${PKGNAME}.tar.gz"

#通过ssh远程连接到10.2.11.245服务器,创建软连接

ssh www@10.2.11.245 "rm -rf /web/${PRONAME} && ln -s /opt/wwwroot/${PKGNAME} /web/${PRONAME}"

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值