bugbyte / deployer
网站部署工具
1.0.10
2013-11-09 21:17 UTC
README
最简单的方法是使用Composer
{
"require": {
"bugbyte/deployer": "1.0.*"
}
}
如果你不能或不想使用Composer(哦,算了吧..)你可以直接从GitHub下载,但你需要自己处理文件加载。
使用方法
查看 example.php 了解简单配置。
需求
- Linux或FreeBSD(本地和远程服务器上)
- 远程服务器的SSH & RSync访问权限,最好是使用公钥认证(否则你需要频繁地输入密码)。
- PHP CLI 5.2+(本地和远程服务器上)
工作原理
首先,使用rsync将文件上传到远程服务器。除了提供你自己的排除文件外,data_dirs会自动排除。
如果发现之前的部署,将最新部署作为--copy-dest使用以加快rsync速度,并将新部署上传到其旁边的新目录中。首次部署时,通过在远程shell中运行"mv"将包含用户生成内容(data_dirs)的任何目录移动到项目根目录外
运行"mv"命令
运行"ln -s"在相应位置创建符号链接(你可能需要激活Apache的FollowSymlinks选项)
上传完成后,将特定目标文件重命名("再次运行mv")。这些移动的文件将在后续部署中显示为已更改/缺失的文件。
所有文件操作完成后,创建一个名为"production"的符号链接,指向部署目录。这是你的DocumentRoot。
存在一些占位符方法,允许你轻松地将自定义代码挂钩到部署过程的某些步骤中。
- preDeploy
- preActivate
- postDeploy
- preRollback
- postDeactivate
- postRollback
- clearRemoteCaches
如果遇到问题,你可以在几秒钟内回滚到之前的部署。
"production"符号链接被改回,并删除新部署。
有关自动化数据库更新的信息,请参阅 LemonWeb/dbpatcher)。
待办事项
- 一致的编码风格
- 完成从荷兰语到英语的翻译
- 在部署过程中进一步清理输出