相关文档:中文文档英文文档

envoy 是什么?

  envoy 是一个支持 blade 语法的 ssh 远程命令执行的工具。具体来说就是,通过配置 ssh 的账号、密码、key 这些,然后可以使用 envoy 运行一些预定义的命令(比如 git 更新什么的)。

安装

composer global require laravel/envoy

  

怎么使用?

  配置(~/.ssh/config):

  关于 ssh key 配置官网文档没有说,但是 google 出来了,需要在 ~/.ssh/config 下面定义你每个 server 对应的 key file,我们假设里面有如下内容:

Host 12.34.56.78
IdentityFile ~/.ssh/id_rsa
User root

  如果我们有另外一个服务器,那么可以按如上格式再另写三行,以此类推。

  

  配置有了,接下来就是写具体命令了:

  在项目根目录新建一个 Envoy.blade.php 文件,这个官网文档有说,第一行定义 servers,注意,不能换行,否则会报错,也许是个 bug,如:

@servers(['web' => '127.0.0.1', 'test' => '12.34.56.78'])

  

  我们假设有一个更新项目的操作,如:

@task('update', ['on' => ['web', 'test']])
cd "/path/to/project"
{{PHP_BINARY}} artisan config:cache
{{PHP_BINARY}} artisan route:cache
{{PHP_BINARY}} artisan optimize --force
"/composer/binary" dumpautoload
@endtask

  

  这样我们运行下面命令的时候,就会进行一些操作:

envoy run update

  

  我们可以使用一些 blade 的语法,如,在 task 中使用变量,这个变量可以是我们在 @setup 中设置的。

tips:对于另外一些操作,比如需要交互的,如可能 git pull 的时候需要输入账号密码的,可以尝试一下 except(当然,不支持 windows)。

php 中 envoy 的使用方法的更多相关文章

  1. JavaScript中Math对象的方法介绍

    1.比较最值方法 比较最值有两种方法,max() 和 min() 方法. 1.1 max() 方法,比较一组数值中的最大值,返回最大值. var maxnum = Math.max(12,6,43,5 ...

  2. Android中锁定文件的方法

    androidSDK中并没有锁定文件相关的api. 但是android是基于linux操作系统的,linux比较底层,灵活性也更大,为了实现锁定文件的效果,大概有以下几种办法: 用chmod命令修改文 ...

  3. jQuery中的事件绑定方法

    在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...

  4. Eclipse中自动提示的方法参数都是arg0,arg1的解决方法

    Eclipse中自动提示的方法参数都是arg0,arg1,就不能根据参数名来推断参数的含义,非常不方便. 解决方法:Preferences->Java->Installed JREs,发现 ...

  5. Power BI官方视频(2) Power BI嵌入到应用中的3种方法

    今天给大家介绍3种将Power BI嵌入到应用中的方法. 本文原文地址:Power BI官方视频(2) Power BI嵌入到应用中的3种方法 Power BI系列文章地址:微软Power BI技术文 ...

  6. JQuery中each()的使用方法说明

    JQuery中each()的使用方法说明 对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的eac ...

  7. Dedecms去掉URL中a目录的方法

    本文实例讲述了Dedecms去掉URL中a目录的方法.分享给大家,供大家参考.具体分析如下: 使用dedecms的朋友可能会发现自己的URL目录生成是会自动带有一个/A/目录了,那么要如何去掉URL中 ...

  8. 【转】C#中WinForm程序退出方法技巧总结

    C#中WinForm程序退出方法技巧总结 一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.Ex ...

  9. inux中shell截取字符串方法总结

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

随机推荐

  1. tomcat安装及使用详解

    常用软件安装及使用目录 资料链接:https://pan.baidu.com/s/1XOUlneFqt-_1tOLSmc-E1g     网盘分享的文件在此 1. Tomcat简介 Tomcat是一个 ...

  2. Python基础系列讲解—动态类型语言的特点

    前言 在C语言中变量所分配到的地址是内存空间中一个固定的位置,当我们改变变量值时, 对应内存空间中的值也相应改变.在Python中变量存储的机制是完全不一样的,当给一个变量赋值时首先解释器会给这个值分 ...

  3. python所遇到的坑

    我是在ubuntu中,自带的有python2,python3有安装了anaconda套件,所以python的版本很多,曾经想删除过不用的python. 先执行 sudo apt remove pyth ...

  4. WPF 自定义 MessageBox (相对完善版 v1.0.0.6)

    基于WPF的自定义 MessageBox. 众所周知WPF界面美观.大多数WPF元素都可以简单的修改其样式,从而达到程序的风格统一.可是当你不得不弹出一个消息框通知用户消息时(虽然很不建议在程序中频繁 ...

  5. Django_杂

    1.url带一些GET参数"url?a=1&b=2",通过QueryDict以及其urlencode()进行处理 from django.http.request impo ...

  6. (第十一周)Beta—review阶段成员贡献分

    项目名:食物链教学工具 组名:奋斗吧兄弟 组长:黄兴 组员:李俞寰.杜桥.栾骄阳.王东涵 个人贡献分=基础分+表现分 基础分=5*5*0.5/5=2.5 成员得分如下: 成员 基础分 表现分 个人贡献 ...

  7. 软工实践l练习一一利用github托管项目

    这次实践的主题是在windows环境下将项目通过git将项目托管到github上.通过实践,基本掌握一些git命令的使用,在github上注册账号并学会创建repositly和organization ...

  8. teamcity和jmeter结合进行接口自动化测试

    (1)从teamcity官网下载jmeter插件:https://teamcity.jetbrains.com/repository/download/TeamCityPluginsByJetBrai ...

  9. Window下JDK安装教程

    1.准备 win10系统,其他windows系统安装过程大同小异官网下载jdk1.8下载地址:https://www.oracle.com/technetwork/java/javase/downlo ...

  10. 命令行方式操作O365

    这几天公司为O365启用了双因子认证,期间出了些小问题,导致我无法使用管理员账号登入控制台,但是Powershell的方法依旧可以.所以我觉得还是有必要把图形化操作改成脚本操作,以备不时之需.以后凡是 ...