deployer 一键部署php代码,还可以保留历史版本.
官网:https://deployer.org
我安装的deployer版本 7.x

注意,7.x版本和6.x 部署命令不一致, 请注意看文档,
网上很多教程都是6.x的.

安装deployer composer require --dev deployer/deployer

引入官方的laravel的配置文件
文档: https://deployer.org/docs/7.x/recipe/laravel

laravel菜谱配置文件里面配置了一些目录,例如共享目录,日志目录,.env等文件路径

然后定义了一些任务.

定义了deploy任务, 里面是调用一些子任务.

运行原理

deployer 脚本会到远程服务器 执行 git clone 拉取代码
执行composer install
把.env 和上传文件的目录, 配置软连接到新目录.
执行php artisan migrate等

部署命令?

# 调用部署任务 deploy , 第二个参数是选择部署到哪个环境
vendor/bin/dep deploy production -vvv# 也可以调用其他自定义的任务
vendor/bin/dep test myhost# 或者执行ssh连接服务器命令
vendor/bin/dep ssh

ngixn配置

服务器的nginx配置到部署目录的 current 目录上.
新发布的版本会自动软链接到current目录.
这样部署完不用修改nginx

注意事项

php禁用函数: putenv 要取消禁用

fileinfo扩展 需要自行安装

在本地配置好免密登录配置文件 ~/用户名/.ssh/config 文件

报错:

command-line line 0: unsupported option “accept-new”.

不支持的选项accept-new

网上说的升级openssh 和 git 不好使

加上 set('git_ssh_command', 'ssh');

完整的deploy.php

<?phpnamespace Deployer;require 'recipe/laravel.php';// Config
set('application', 'csdn多才多多的项目');
set('repository', 'git@xxx.com:csdn-duocaiduoduo/project_name.git');
set('git_tty', true);
add('shared_files', []);
add('shared_dirs', []);
add('writable_dirs', []);set('git_ssh_command', 'ssh');task('test', function () {writeln('type:' . get('labels')['type'] . ' env:' . get('labels')['env'] . ',hostname:' . get('hostname'));
});
// Hosts列表
//测试机
host('192.168.56.101')->setLabels(['type' => 'web','env' => 'test',])->setRemoteUser('root')->set('branch', 'master')->setDeployPath('/www/wwwroot/project');//线上机器
host('123.22.22.22')->setLabels(['type' => 'web','env' => 'prod',])->setRemoteUser('root')->set('branch', 'master')->setDeployPath('/www/wwwroot/project');//->setIdentityFile('~/.ssh/id_ed25519');连接远程主机的私钥,免密登录
//->setSshArguments(['-o UserKnownHostsFile=/dev/null']);// Hooksafter('deploy:failed', 'deploy:unlock');

执行部署命令

# 部署到标签env=prod的机器
vendor/bin/dep deploy env=prod # 部署到标签env=test 的机器
vendor/bin/dep deploy env=test # 执行test任务,标签env=prod的机器
vendor/bin/dep test env=prod  # 查看部署的版本列表
vendor/bin/dep releases env=test -vvv# 回滚
vendor/bin/dep rollback env=prod # -vvv 表示部署时显示详细信# ssh root@123.22.22.22 -i ~/.ssh/id_ed25519

laravel使用php部署工具deployer实战相关推荐

  1. php代码部署工具,代码部署(三):使用部署工具deployer并配合github+circle进行部署

    这篇文章介绍deployer工具. 它支持并行部署,版本回退,可以很方便的编写命令并设置执行时机,并且支持很多主流的php框架提供开箱可用的一些方案. 使用deployer的情况下: circleCI ...

  2. Deployer php自动部署,PHP自动化部署工具-Deployer

    自动化部署的好处 减少重复工作 确保全部目标... ###自动化部署的好处 减少重复工作 确保全部目标环境代码完全一致 方便快速地进行弹性扩展 如果部署失败,可以快速回滚 ###Deployer的特性 ...

  3. 日志分析工具Awstats实战之Apache篇-多站点日志分析

    前面两篇都在讲述如何去部署nginx下的awstats日志分析工具,现在终于轮到apache.作为老牌的网页服务器,awstats对apache的支持非常完美,所以整个配置过程也是十分简单.因此,在这 ...

  4. 全场景、简单易用、极致高效!新一代AI部署工具FastDeploy来了!

    人工智能产业应用发展的越来越快,开发者需要面对的适配部署工作也越来越复杂.层出不穷的算法模型.各种架构的AI硬件.不同场景的部署需求.不同操作系统和开发语言,为AI开发者项目落地带来极大的挑战. 为了 ...

  5. 《Linux运维总结:外网vsftpd一键部署工具》

    文章目录 一.工具介绍 二.工具下载 二.工具使用 2.1.编辑变量文件 2.2.执行变量脚本 2.3.客户端连接测试 总结:整理不易,如果对你有帮助,可否点赞关注一下? 一.工具介绍 1.vsftp ...

  6. 自动化运维工具-Ansible实战指南

    Ansible实战 前言 一.Ansible简介 1.ansible是什么? 2.ansible特点 3.ansible架构 主要模块 工作流程 命令执行过程 二.Ansible 配置 1 安装ans ...

  7. php之laravel项目的部署

    laravel是一个狠强大的框架,下面来讲解一下laravel的基本部署,我安装的是laravel的最新版本5.8,这个对环境是有要求的: 1>首先要确保的你的PHP版本(我的php版本是7.3 ...

  8. java部署工具下载_Walle部署工具-Walle(开源部署工具)下载 v2.0.1官方版--pc6下载站...

    Walle开源部署工具是一款免费开源的上线部署平台,Walle开源部署工具支持各种web代码发布,php.java等代码的发布.回滚可以通过web来一键完成.walle更人性化,高颜值,支持git.多 ...

  9. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置...

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

最新文章

  1. 重磅!革命级AI代码补全工具,这款撸码利器让程序员界沸腾了!
  2. Spring Cloud Zuul中使用Swagger汇总API接口文档
  3. 设计模式11-桥接模式
  4. spring mvc logback
  5. 使用mybatis generator 生成annotation形式的mapper
  6. H.264 中的相关问题
  7. python find函数 和index的区别_python list的index()和find()的实现
  8. 韩国遭 Lazarus Group 供应链攻击
  9. delphi java jni 互通_编程应用实例:Java通过JNI与Delphi交互
  10. sqlmap的安装与使用
  11. 黑灰产攻击洪峰来袭,企业如何守住自己的钱袋子?
  12. 2022年京东新百货七夕礼遇季活动有什么亮点?
  13. android 10 长按Power键跳过关机对话框直接关机
  14. Irvue for Mac(苹果壁纸软件)
  15. [Irving] SQL 2005/SQL 2008 备份数据库并自动删除N天前备份的脚本
  16. 《如何正确评估自己的工作能力》--马薇薇
  17. MATLAB等额还款代码,matlab算法实现对等额本息和等额本金两种还款方式的计算
  18. Wireshark TS | TCP Previous Segment Lost
  19. Unicode编码和Base64编码
  20. U盘启动盘制作以及系统安装教程

热门文章

  1. admas零件名重复
  2. 瑞盟RS-485接口电路MS1285完全替代SN75176A
  3. 面向自动驾驶应用的车联多智能体信息融合协同决策机制研究
  4. 任正非谈消费者BG战略
  5. iPlus破解iPhone后升级BL4.6操作教程
  6. 蓝桥杯打卡(220118)
  7. 价值2500元网易web白帽子黑客培训
  8. 百度c语言贴吧 经典C源程序100例-2
  9. OA办公自动化系统是如何为企业节约资源的?
  10. vertical-align 可以解决的问题