1 Star 0 Fork 6

御风 / Summer-PHP-Deploy

forked from myDcool / Summer-PHP-Deploy 
加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

Summer-PHP-Deploy

起因

某种原因, 不能使用Jenkins, 于是用PHP写了一个自动部署脚本

项目介绍

  • 用PHP写的部署脚本
  • 支持在网页上操作部署
  • 支持gitlab push hook, 精确到分支, 支持同时往多个目录部署
  • 支持在命令行触发
  • 支持部署后删除缓存
  • 支持指定文件不部署

软件架构

准备

  • 目录A, 用来存放git分支
  • 目录B, 运行网站的代码目录
  • 目录C, 部署用的脚本目录, C里边的脚本用来把A里边的代码更新同步到B里边
  • gitlab, 添加push hook, hook中指定的url可以执行C中的代码
  • 配置域名, 使浏览器可以访问到webui.php
  • php version 5.4+

目录C中的文件说明:

文件名 作用
webui.php 入口1: 通过网页界面操作触发的部署
webhook.php 入口2: gitlab push hook触发的部署
cli.php 入口3: 命令行部署
Tool.php 工具类, 用来拉取最新代码, 找出差异, 同步代码到目标目录
msg.log 用来存放部署过程中的输出或错误信息
scripts/ 存放不同项目的部署脚本

命令行部署使用举例:

  • php cli.php -p=dev
  • php cli.php -p=dev -a

命令行参数说明:

  • 命令 "cli.php -p=dev" 是指cli.php调用scripts/dev.php 进行部署, 把git最新的改动同步到目标目录
  • 命令 "cli.php -p=dev -a " 是指cli.php调用scripts/dev.php 把某分支所有未被忽略的文件拷贝到目标目录
  • scripts/xxx.php里定义了部署用的路径配置信息, 自己写部署脚本时请参考dev.php中的写法

待开发功能

  • 压缩备份, 回退, SQL部署

仓库评论 ( 0 )

你可以在登录后,发表评论

简介

用PHP写的部署脚本 展开 收起
PHP
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/971664595/Summer-PHP-Deploy.git
git@gitee.com:971664595/Summer-PHP-Deploy.git
971664595
Summer-PHP-Deploy
Summer-PHP-Deploy
master

搜索帮助