Envoy是一个composer扩展包,它的本质作用是代替你登录远程的目标服务器(下称目标机)并执行一系列命令,它的执行环境要有事先装有php与composer,但它不仅仅能在php项目里起作用,原因是前面提到的它的本质是帮你执行命令,而这命令不只针对php的命令。因此你不仅可以把它当作部署项目的工具,甚至可以是对目标机的简单管理工具。下面从本地机对目标机的登录到envoy的安装使用来分步介绍它。实现本地机与目标机的ssh密钥登录假定目标服务器是sorgo@192.168.8.8#如果本地机的用户还没rsa密钥的那先生成ssh-keygen -t rsa -C “your_email@example.com”#发送密钥到目标机,并进行密码验证ssh-copy-id sorgo@192.168.8.8#测试是否能直接ssh登录而不再要求输入密码ssh sorgo@192.168.8.8安装和使用#全局安装composer global require laravel/envoy#一键生成envoy执行文件模板:Envoy.blade.phpenvoy init sorgo@192.168.8.8修改Envoy.blade.php文件{{– 这是blade文件里的注释 –}}{{– web是标识这台服务器的名字 –}}@servers([‘web’ => ‘jeffio@116.85.48.221’]){{– deploy是给这个任务起的名字 –}}@task(‘deploy’) cd /www/wwwroot/sifou.com git pull origin master composer install@endtask执行任务,命令格式是envoy run 任务名envoy run deploy以上即可一键完成:进入指定目录git拉取更新安装composer包这样一个简单的部署就完成了,极大降低了维护的操作成本。参考更多写操作请参考收下文档Envoy详细文档