Envoy是一个composer扩展包,它的本质作用是代替你登录远程的目标服务器(下称目标机)并执行一系列命令,它的执行环境要有事先装有php与composer,但它不仅仅能在php项目里起作用,原因是前面提到的它的本质是帮你执行命令,而这命令不只针对php的命令。因此你不仅可以把它当作部署项目的工具,甚至可以是对目标机的简单管理工具。

下面从本地机对目标机的登录到envoy的安装使用来分步介绍它。

实现本地机与目标机的ssh密钥登录

假定目标服务器是sorgo@192.168.8.8

#如果本地机的用户还没rsa密钥的那先生成

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

#发送密钥到目标机,并进行密码验证

ssh-copy-id sorgo@192.168.8.8

#测试是否能直接ssh登录而不再要求输入密码

ssh sorgo@192.168.8.8

安装和使用

#全局安装

composer global require laravel/envoy

#一键生成envoy执行文件模板:Envoy.blade.php

envoy init sorgo@192.168.8.8

修改Envoy.blade.php文件

{{-- 这是blade文件里的注释 --}}

{{-- web是标识这台服务器的名字 --}}

@servers(['web' => 'jeffio@116.85.48.221'])

{{-- deploy是给这个任务起的名字 --}}

@task('deploy')

cd /www/wwwroot/sifou.com

git pull origin master

composer install

@endtask

执行任务,命令格式是envoy run 任务名

envoy run deploy

以上即可一键完成:

进入指定目录

git拉取更新

安装composer包

这样一个简单的部署就完成了,极大降低了维护的操作成本。

参考

更多写操作请参考收下文档

Envoy详细文档

envoy实现_使用Envoy实现一键部署项目相关推荐

  1. envoy重试_具有Envoy代理的微服务模式,第二部分:超时和重试

    envoy重试 该博客是系列文章的一部分,该系列文章更深入地介绍了Envoy Proxy和Istio.io ,以及它如何实现一种更优雅的连接和管理微服务的方式. 跟随我@christianposta ...

  2. Idea使用Alibaba Cloud Toolkit实现一键部署项目到linux环境

    介绍 Alibaba Cloud Toolkit可以帮助开发者更高效地部署.测试.开发和诊断应用.Cloud Toolkit与主流IDE及阿里云其他产品无缝集成,帮助您大大简化应用部署到服务器,尤其是 ...

  3. 宝塔面板Java项目一键部署项目404问题

    以下为总结我使用宝塔面板Java项目一键部署功能时遇到坑以及解决方案: 具体故障为:The requested resource [/demo] is not available 主要是TomCat服 ...

  4. 如何一键部署项目代码自动更新

    my-deploy : 由nodejs写的一个自动更新工具,理论支持所有语言(php.java.c#)的项目,支持所有git仓库(bitbucket.github等). Github 效果如何? 如果 ...

  5. 如何一键部署项目、代码自动更新

    为什么80%的码农都做不了架构师?>>>    摘要:my-deploy:由nodejs写的一个自动更新工具,理论支持所有语言(php.java.c#)的项目,支持所有git仓库(b ...

  6. 一键部署项目到服务器

    相对于部署到 Github Page 来说,可以使用 GitHub Actions 来进行自动部署.我们自己拥有服务器的选手,就相对来说比较麻烦.一般的情况就这些: 方法 分析 FTP FTP 的速度 ...

  7. linux系统搭建jenkins并完成一键部署项目,解决部署项目繁琐步骤

    1.去jenkis官网下载jenkins.war jenkis官网 直接点击就会下载, 或者下载本博主下载的jenkins.war 链接:百度网盘链接 提取码:k6bh 2.将jenkins.war上 ...

  8. envoy实现_如何利用 Envoy 的 Postgres 过滤器实现网络可观察性

    作者:Christoph Pakulski 自发布版本 1.15.0 起,Envoy 代理就开始支持 Postgres 信息解码用于统计目的了.该功能为网络中发生的 Postgres 事务提供聚合视图 ...

  9. zabbix 时间错误_一键部署Zabbix+Grafana+Icinga+SmokePing监控系统

    管理学上有一句名言,If You Can't Measure It, You Can't Manage It.对于监控的重要性我就不细说了,原先我们使用Nagios.Catti.SmokePing.I ...

最新文章

  1. 面向对象的三大特性(封装、继承、多态)
  2. [YTU]_2433( C++习题 对象数组求最大值)
  3. 先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)
  4. Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
  5. 40个很棒的由html5开发的网络游戏案例
  6. aix升级openssh_AIX5.3如何安装openssh | 学步园
  7. 生产环境的分布式任务调度框架如何选择?quartz、xxl-job、Elastic-Job、Saturn
  8. 使用expect编写脚本
  9. python 列表有没有顺序_python的list有顺序吗
  10. opencv绘制矩形框
  11. 搜索引擎 —海量数据搜索
  12. mac电脑投屏到小米盒子_电脑投屏到小米盒子
  13. 谷歌浏览器使用复制的功能
  14. html中显示框框中对勾,如何打出方框里有对勾
  15. java调用打印机没反应_java代码调用打印机没反应
  16. entity framework 新手入门篇(4)-entity framework扩展之 entityframework.extended
  17. 为什么程序员要会linux
  18. css动画走马灯5秒,用animation制作走马灯
  19. 嵌入式产品软件(固件)开发需要考虑的2个方面
  20. 言承旭签约尊尼事务所 变木村拓哉师弟攻日本

热门文章

  1. 数据结构与算法—二叉排序(查找)树
  2. 树莓派串口配置(c++)
  3. 来!带你认识几种最流行的Python编辑器/IDEs
  4. 计算机硬件系统一直延用,会计电算化辅导:计算机硬件系统
  5. 认真学习MySQL的事务日志-Redo日志
  6. 计算机工作原理与系统组成?,计算机工作原理及系统组成
  7. 安装目录里无法找到计算机,安装软件弹出系统找不到指定的路径提示解决方法...
  8. Multisim仿真—恒流源电路(一)
  9. Scratch-陶陶摘苹果
  10. word excel转pdf,pdf合并,插入页码