Deployer是一款专为PHP开发者设计的开源部署工具,以其简洁的配置和强大的功能著称。它支持Laravel、Symfony、Yii、CodeIgniter等几乎所有主流PHP框架,能够帮助开发者实现代码的一键自动化部署,大幅提升运维效率。
为什么需要Deployer
在日常开发中,手动部署PHP项目往往意味着:连接服务器、拉取最新代码、安装依赖、清理缓存、重启服务等一系列繁琐步骤。这些操作不仅耗时,还容易因为人为疏忽导致错误。Deployer将这些步骤全部自动化,只需要一条命令,即可完成从代码更新到服务重启的整个流程。
更关键的是,Deployer支持滚动部署和回滚机制。如果新版本出现问题,一行命令就能回滚到上一个稳定版本,极大降低了线上故障风险。
安装Deployer
推荐通过Composer全局安装:
composer global require deployer/deployer
安装完成后,在终端中运行deployer即可看到帮助信息。
初始化项目
在项目根目录下,运行以下命令初始化Deployer配置:
dep init
这会创建一个deploy.php文件,包含基本的部署配置。以Laravel项目为例,配置如下:
require 'recipe/laravel.php';
set('repository', 'git@github.com:username/project.git');
host('production')
->hostname('your-server.com')
->user('deploy')
->port(22)
->identityFile('~/.ssh/id_rsa')
->set('deploy_path', '/var/www/myproject');
配置详解
Deployer的配置文件采用PHP语法,灵活且强大。关键配置项包括:
repository:Git仓库地址,支持SSH和HTTPS协议。
hostname:目标服务器地址。
user:SSH登录用户名。
deploy_path:代码部署到服务器的哪个目录。
identityFile:SSH密钥文件路径。
Deployer内置的Laravel配方自动处理:代码同步、依赖安装、缓存清理、配置链接、队列重启等常用步骤开箱即用。
执行部署
部署命令非常简单:
dep deploy production
Deployer会依次执行:连接服务器、创建新版本目录、克隆代码、安装依赖、执行迁移、清理缓存、符号链接切换、重启队列等。整个过程透明可见,出现问题可以随时中断和排查。
部署完成后,Deployer会自动保留最近5个历史版本,方便回滚。
回滚操作
如果新版本出现问题,执行回滚:
dep rollback production
Deployer会立即将代码切换到上一个稳定版本,服务恢复运行,整个过程不超过10秒。
多服务器部署
Deployer支持同时部署到多台服务器,适合负载均衡架构:
host('web1')
->hostname('192.168.1.1')
->set('deploy_path', '/var/www/app');
host('web2')
->hostname('192.168.1.2')
->set('deploy_path', '/var/www/app');
运行dep deploy时,Deployer会自动并行部署到所有服务器。
适用场景
Deployer特别适合:需要频繁迭代的Web应用、微服务架构、多服务器部署、追求部署效率的团队、以及希望建立标准化部署流程的个人开发者。
开源协议
Deployer采用MIT开源协议,完全免费使用,没有任何商业限制。
总的来说,Deployer是PHP开发者不可多得的部署利器。它将复杂的服务器运维工作简化为简单的命令,让部署变得既高效又可靠。
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。








暂无评论内容