美文网首页
运维帮手:FlashOps帮我提高效率

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

作者: yuiac | 来源:发表于2019-01-07 07:04 被阅读0次

    先看一看能用它来做什么

    例如:我在本机写了个脚本构建项目、生成配置文件、提交到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帮我提高效率

          本文链接:https://www.haomeiwen.com/subject/pvryrqtx.html