之前是使用 Git Hook 实现自动部署,如今改成使用 Laravel Envoy,记录一下。php
前提条件是能够免密登录服务器,能够看这篇文章html
composer global require laravel/envoy
进行安装envoy init user_name@ip_path
,执行操做后,会建立 Envoy.blade.php
文件以下@servers(['web' => 'user_name@ip_path']) @task('deploy') cd /path/to/site git pull origin master @endtask
执行完上面的步骤后,就能够编写部署任务了。laravel
@servers(['web' => 'user_name@ip_path']) @task('deploy') cd /path/to/site git pull origin master composer install --no-dev @endtask
story
,将多个 task
进行拆分,以下@servers(['web' => 'user_name@ip_path']) @setup $path = '/path/to/site'; @endsetup @story('deploy') git composer @endstory @task('git') cd {{ $path }} git pull origin master @endtask @task('composer') composer install --no-dev @endtask
docker exec -u=laradock laradock_workspace_1 bash -c 'cd path && composer install --no-dev'
使用 envoy run deploy
执行便可。注意要将 Envoy.blade.php
文件加入 .gitignore
防止泄漏重要信息。git
参考资料:Laravel Envoy、Laravel Envoy 文档。github