8.4. 使用 Deployer 部署(上)

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

Deployer 部署工具

在上一节我们用纯手工的方式完成了首次代码部署,如果之后有新的代码变更,我们需要做以下操作:

  1. ssh 登录到服务器;
  2. 使用 git 命令更新代码仓库;
  3. 如果有 composer 依赖变更,需要执行 composer install
  4. 如果 .env 文件有变更,需要通过 scp 或者 vim 修改;
  5. 如果有数据库变更,需要执行 php artisan migrate
  6. 如果有队列相关的代码变更,需要执行 php artisan queue:restart
  7. 如果有 Nodejs 依赖变更,需要执行 yarn;
  8. 如果有前端代码变更,需要执行 yarn build

如果用纯手工的方式部署会有以下问题:

  1. 容易遗漏步骤或者误操作;
  2. 在部署过程中站点可能不可用;
  3. 如果有多台服务器需要部署则会加剧上述两个问题。

为了解决这些问题,本节我们将要学习 Deployer 这个部署工具,Deployer 可以让我们用 PHP 代码的方式描述部署步骤并执行。

1. Deployer 介绍

Deployer...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:1
讨论数量: 33

Johnson16
云服务器的 SSH 端口不是 22 如何配置呢?
0 个点赞 | 14 个回复 | 问答 | 课程版本 5.5
AMA32
求教没有权限问题?
0 个点赞 | 12 个回复 | 问答 | 课程版本 5.5
vasar
deployer 部署报错,无法 Git clone
0 个点赞 | 9 个回复 | 问答 | 课程版本 5.7
小花儿
Permission denied (publickey)
0 个点赞 | 9 个回复 | 问答 | 课程版本 5.5
gyp719
dep deploy 部署 没有 权限 删除目录
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
坐忘
deployer 部署报错,无法 Git clone?
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.8
rlyabc
dep deploy
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
lianglunzhong
dep deploy 的时候报 Composer 的错误?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
caojianx
这样部署,怎么配置 https 啊?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.8
KingOfTheWorld
Git 使用的是码云,执行 dep deploy 不能 clone 项目失败
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xingchenboy
外部文件夹权限是 www-data。里面的权限是 root,怎么求解
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.7
dptms
deploy 部署卡在 update_code?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
wayee
deploy 时出现的问题
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
windtalker
运行 dep deploy 的时候
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
gyp719
dep deploy 报错
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
坐忘
dep 和 dep init 这两个命令没有效果
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
tiegemen
dep 命令无效
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
逍遥芗梓
dep deploy 执行最后问题
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
caojianx
部署的时候出现 'bash -s; prin tf "[exit_code:%s]" ?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
franktrue
deployer 部署程序时无法上传文件
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
captainwong
.env 上传后无软链接、用户为 root 问题
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
张汉为
项目首页无法访问,后台可以?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
景哥哥
dep deploy 报错
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
海峡
dep deploy 之后出现数据库问题--“Column already exists”
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
gyp719
升级 Deployer 报错
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
西巴以及
请问执行 dep deploy 报错如下是什么原因造成的
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
逍遥芗梓
dep deploy 执行有错误
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
周小云
部署更新代码很慢
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
jxdr
deployer/deployer 包弃用了, 怎么办啊?
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.x