Jenkins 通过 rsync 实现持续发布 PHP 项目

前置条件:Jenkins 服务、Git 插件已安装

新建一个任务

创建一个自由风格的软件项目
在这里插入图片描述

配置 git 仓库

填入 git仓库的地址、账号密码(可以点击添加新建)
在这里插入图片描述

构建(核心)

添加一个 shell 脚本,php 部署的核心就是将 git 的代码与线上的代码对比,然后同步与 git 仓库不同的代码文件,当然线上有数据的目录要排除掉对比,避免删除线上数据。

!!!使用 rsync 要提前进行服务器免密登录,否则需要交互式输入密码 !!!
在这里插入图片描述

rsync -avzP ./* \
-e 'ssh -p1022' \
--progress \
--backup \
--backup-dir="/home/seo/${JOB_NAME}_${BUILD_ID}" \
--suffix="_${BUILD_ID}" \
--exclude=".git" \
--exclude="common/env" \
--exclude="api/runtime/debug" \
seo@223.112.1.18:/opt/www/
# 选项说明
./*: 同步当前目录的所有文件,Jenkins 的 shell 默认执行位置就是该项目的工作空间
-r: 对子目录以递归模式,即目录下的所有目录都同样传输,注意是小写的r.
-a: 归档模式,相当于同时加了参数-rlptgoD
-v: 显示同步过程的详细信息
-z: 表示压缩传输
-P: 显示传输速度
-e 'ssh -p1222': 使用 ssh 的 1222 端口,更改了默认 ssh 端口的情况
--delete: 删除那些目标位置有,而原始位置没有的文件
--exclude: 需要过滤的文件
--progress: 显示进程
--backup: 备份修改的文件
--backup-dir: 备份目录
--suffix: 备份文件名后缀
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值