先看一看能用它来做什么
例如:我在本机写了个脚本构建项目、生成配置文件、提交到git等等,叫作a.sh。在服务器上有个脚本叫作b.sh用来git更新、重启服务什么的。那么工作流程大致是这样的:
./a.sh
ssh server
./b.sh
这已经不能再简单了,还不包括 cd,sudo 什么的,如果经常要执行这样的操作,每次都要从键盘敲入10几20几个字符,也烦人的很。
重点来了,用 FlashOps,可以把这一组操作定义成一个任务,在任务的交互菜单下,键入任务序号或者快捷键,回车即可,所有步骤一气呵成,像这样(假设任务序号是8):
8
完成。只输入一个序号8,回车即可。对于要经常执行的操作,每次都节省键入10几20几个字符,是不是也很惬意呢!
FlashOps 简介
FlashOps 是一个用 python 写的工具,可以通过 pip 来安装
pip install flashops
有兴趣的读者可以去自己去了解,挺简单的一个工具,我就不多介绍了。
配置
FlashOps 使用 yaml 来进行配置,不了解 yaml 的同学自行百科吧,我也不多说了。
projects:
- title: A Demo Project
servers:
- title: server01
ssh:
host: 192.168.99.100
tasks:
- title: All in one
operations:
- title: step1
target: 'projects.A Demo Project'
commands:
- '/Users/vs/a.sh'
- title: step2
target: 'servrs.server01'
commands:
- '/home/vs/b.sh'
使用
把上面的配置文件保存为 demo.yaml ,然后执行
- flashops -f demo.yaml
会看到下面的交互菜单
Hi, flashops
File: /Users/vs/demo.yaml
[f] Files
[r] Projects
[s] Servers
[t] Tasks
[c] Statements
[D] Donation
Please input your choice ("exit" for quit):
输入 t 进入 tasks 菜单,会看到配置文件中定义的任务 All in one
Please input your choice ("exit" for quit): t
[1] All in one
Choose one of the tasks: 1
......
......
输入任务的序号1回车,就开始执行了(执行过程省略)。
是不是很简单易用呢!好了,今天就到这里,打卡下班。
网友评论