laravel envoy详解
来源:互联网 发布:大数据 adhoc 编辑:程序博客网 时间:2024/06/09 17:49
一、定义
laravel Envoy是远程服务器任务处理器
二、语法特点
它使用了 Blade 风格的语法,可以很方便的启动任务来进行项目部署、Artisan 命令运行等操作
三、安装
composer global require laravel/envoy
四、编写任务
所有的 Envoy 任务都必须定义在项目根目录的 Envoy.blade.php 文件中
基本格式:
@servers(['web' => ['user@192.168.1.1']])@task('foo', ['on' => 'web']) ls -la@endtask如你所见, @servers 的数组被定义在文件的起始位置处,让你在声明任务时可以在 on 选项里参照使用这些服务器。
@task 声明里,你可以放置当任务运行时想要在远程服务器运行的 Bash 命令,如:
php artisan fix:data --tags
任务变量:
可以通过命令行选项来传递变量至 Envoy 文件,以便自定义你的任务
envoy run deploy --branch=master任务中变量的使用遵循blade语法:
@servers(['web' => '192.168.1.1'])@task('deploy', ['on' => 'web']) cd site @if ($branch) git pull origin {{ $branch }} @endif php artisan migrate@endtask
引入文件:
如果你想在任务执行前引入其他 PHP 文件,可以直接在 Envoy.blade.php 文件起始位置使用 @include :
@include('vendor/autoload.php')就比如我们可以把需要用到的变量,单独存到一个php文件中,引入到envoy中
运行php代码:
有时,你可能想在任务启动前运行一些 PHP 代码。这时可以使用 @setup 区块在 Envoy 文件中声明变量以及运行普通的 PHP 程序:
@setup $now = new DateTime(); $environment = isset($env) ? $env : "testing";@endsetup
任务故事(代替原macro):
laravel5.5中使用story任务故事通过一个统一的、便捷的名字来划分一组任务,来让你把小而专的子任务合并到大的任务里。而5.2及5.1中使用任务宏macro来顺序运行一组任务。在5.5中依然可以使用macro。举例:
@servers(['web' => '192.168.1.1'])@story('deploy') git composer@endstory@task('git') git pull origin master@endtask@task('composer') composer install@endtask一个名为 deploy 的任务故事可以在它定义范围内列出子任务名字 git 和 composer 来运行各自对应的任务。
当 story 写好后,像运行普通任务一样运行它就好了:
envoy run deploy
阅读全文
0 0
- laravel envoy详解
- Python envoy 模块源码剖析
- Laravel 包引入详解
- laravel数据库迁移详解
- Laravel控制器详解
- Laravel框架详解
- Laravel框架详解 CURD
- Laravel框架详解 CURD
- laravel 路由 详解
- laravel框架详解
- Laravel控制器详解
- laravel源码详解
- Laravel框架表单验证详解
- Laravel批量写入数据详解
- Laravel 手动分页实现详解
- laravel中使用cookie详解
- laravel中使用cookie详解
- laravel 多条件查询详解
- Swing窗体
- Add Digits(leetcode)
- 基本字符串压缩 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
- Python简化类例二:实现变量的私有化,Python没有真正的私有变量,而简化类可以真正实现变量的私有
- c语言*数组
- laravel envoy详解
- 我的心得
- springboot 开发入门,及问题汇总
- Struts2访问servlet API的方法
- 先进先出页面置换算法c语言源码
- Hive数据倾斜问题总结
- codeforces893 A-D
- Python简化类例三:实现类实例的事件定义
- localStorage存储