我们的项目是基于 Git 托管,每次部署项目的时候都是登录服务器手动拉取,感觉很繁琐。

Laravel 给我们提供了一个自动部署的工具,是一个官方扩展。接下来就尝试使用下

Laravel Envoy

首先我们服务器得免密登录。需要 ssh 直接登录

ssh-keygen -t rsa -C "your_email@example.com"

ssh-copy-id ubuntu@yourIP

ssh ubuntu@yourIP

安装

composer global require laravel/envoy

单个服务器

在 Laravel 项目根目录 创建 Envoy.blade.php

@servers(['web' => 'ubuntu@yourIP'])

@task('deploy', ['on' => 'web'])
    cd /var/www/
    sudo git pull origin master
    sudo composer install
    sudo php artisan migrate
    sudo npm install
    sudo npm run dev

@endtask

多个服务器

@servers(['web' => 'ubuntu@yourIP','web2' => 'ubuntu@yourIP'])

@task('deploy', ['on' => ['web', 'web2'], 'parallel' => true])
    cd /var/www/
    sudo git pull origin master
    sudo composer install
    sudo php artisan migrate
    sudo npm install
    sudo npm run dev

@endtask

使用

envoy run deploy
暂无回复
0 / 180
网站公告

LaravelCode 正式上线啦

--->>>体验新站

今日诗词
正在加载今日诗词....
标签云
PHP Laravel API 随想 Node.js Linux Yii2.0 Redis 队列 JavaScript Vue Java MySQL 微信小程序 Python Hyperf 转载