Deployer让部署变得更加的简单
平时,如果我们开发好一个laravel项目之后,纯手工部署代码的话,需要经历以下步骤:
- 安装好服务器环境
- 下载项目代码
- 下载 Composer 依赖
- 下载 Nodejs 依赖
- 创建 .env 文件
- 执行数据库迁移
- 构建前端代码
如果后续要更新版本,代码变更的时候,实在是一个令人感觉不好的操作,我们可能需要做以下的工作
- ssh 登录到服务器;
- 使用 git 命令更新代码仓库;
- 如果有 composer 依赖变更,需要执行 composer install;
- 如果 .env 文件有变更,需要通过 scp 或者 vim 修改;
- 如果有数据库变更,需要执行 php artisan migrate;
- 如果有队列相关的代码变更,需要执行 php artisan queue:restart;
- 如果有 Nodejs 依赖变更,需要执行 yarn;
- 如果有前端代码变更,需要执行 yarn build
如果我们使用纯手工的方式部署会有以下问题:
- 容易遗漏步骤或者误操作;
- 在部署过程中站点可能不可用;
- 如果有多台服务器需要部署则会加剧上述两个问题。
为了解决这个问题,我们可以使用Deployer 这个部署工具,Deployer 可以让我们用 PHP 代码的方式描述部署步骤并执行,对于php开发者来说真的是一个福音咯
我之前练手用的电商系统,就是用deployer部署的,支持单机跟多机部署,可戳shop
什么是Deployer
Deployer 是一个基于 SSH 协议的无侵入 web 项目部署工具,因为它不需要你在目标服务器上装什么服务之类的东西即可使用,它只需要在你的开发机,或者你的笔记本,就是发起部署动作的一方安装即可。
它的原理就是通过 SSH 到你的机器去创建目录,移动文件,执行指定的动作来完成项目的部署
跟我们shell脚本其实是一样的,只不过,我们不需要去服务器上面进行操作,而且在本地恋用熟悉的php进行编写部署脚本后,通过ssh协议,登录到指定服务器进行一系列操作,所以说还是很友好的。
Deployer 的安装与配置
Deployer的安装
Deployer的安装与配置都是在本地进行操作
$ composer global require deployer/deployer
安装完成后我们试试看是否安装成功: