承接 bugbyte/deployer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bugbyte/deployer

Composer 安装命令:

composer require bugbyte/deployer

包简介

A website deployment tool

README 文档

README

The easiest way is to use Composer:

{
    "require": {
        "bugbyte/deployer": "1.0.*"
    }
}

If you can't or don't want to use Composer (oh come on..) you can just download from GitHub, but you'll have to take care of loading the files by yourself.

Usage

See example.php for a simple setup.

Requirements

  • Linux or FreeBSD (on both the local and the remote server)
  • SSH & RSync access to the remote server, preferably with public key auth (or you'll be typing your password a lot).
  • PHP CLI 5.2+ (on both the local and remote servers)

Workings

First, rsync is used to upload files to the remote server. Aside from supplying your own exclude files, data_dirs are excluded automatically.
If previous deployments are found the latest is used as --copy-dest to speed up rsync, and the new deployment is uploaded next to it in a new directory. At first deploy any directories with User Generated Content (data_dirs) are moved outside of the project root:

by running "mv" in the remote shell
by running "ln -s" symlinks are created in their place (you may need to activate Apache's FollowSymlinks option)

Target specific files are renamed ("mv again") after everything is uploaded. These moved files will appear as changed/missing files in subsequent deploys.
After all file-stuff is done, a symlink called "production" is created, pointing to the deployment directory. This is your DocumentRoot.

There are several stub methods in place to allow you to easily hook custom code into some steps of the deployment process.

  • preDeploy
  • preActivate
  • postDeploy
  • preRollback
  • postDeactivate
  • postRollback
  • clearRemoteCaches

In case of trouble, you can rollback to the previous deploy in only a few seconds.
The "production"-symlink is changed back and the new deployment is deleted.

For automating database updates, have a look at LemonWeb/dbpatcher).

Todo

  • consistent coding style
  • finish translating everything from Dutch to English
  • clean up the output during deployment a bit more

统计信息

  • 总下载量: 384
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2012-09-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固