bugbyte/deployer

网站部署工具

1.0.10 2013-11-09 21:17 UTC

This package is auto-updated.

Last update: 2024-09-06 09:58:19 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)。

待办事项

  • 一致的编码风格
  • 完成从荷兰语到英语的翻译
  • 在部署过程中进一步清理输出