运维帮手:FlashOps帮我提高效率

先看一看能用它来做什么

例如:我在本机写了个脚本构建项目、生成配置文件、提交到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 ,然后执行

  1. 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回车,就开始执行了(执行过程省略)。

是不是很简单易用呢!好了,今天就到这里,打卡下班。

你可能感兴趣的:(运维帮手:FlashOps帮我提高效率)