自己設計敏捷工作流引擎(Smart Task Workflow)

設計原因: 在從事運維工作的時候,時常需要實現自動化流程,但是經常都是自己做個小腳本,沒有系統的程序來管理他們,於是為了很好的管理這些小腳本或者模塊,並讓這些模塊具有可重用性,所以就設計了這個工具。

目的:這次主要是想介紹下我自己研究並設計的流程自動化工具,希望這款敏捷自動化流程工具是運維人員的定製化武器 dev ops 的福音 #workflow #dev ops

源代碼地址:https://github.com/jiangxianfu/smarttaskflow

架構:本程序主要是後端服務性質的程序,而前端站點主要是管理用的可以自行根據需求潛入到自己的管理站點中。

廢話不多說,介紹下我的這個引擎使用方法:

為了大家可以嘗試使用我把工具包裝簡化成doker來運行了。

Demo運行環境:linux + docker + docker-compose + python3

第一步:你需要在linux 環境下安裝docker 及docker-compose

第二步:啟動docker-compose 服務

<code>cd taskflowdocker-compose up -d/<code>

第三步:初始化測試數據

連接上docker 啟動的mysql

docker exec -it task-db /bin/bash

mysql 的賬號是root 密碼是12345678

執行代碼目錄下的taskflowdb.sql 創建db及表及測試數據。

第四步:體驗下數據

<code># 插入一條測試的流程實例INSERT INTO `taskflowdb`.`instances` (`title`,`description`,`flowid`,`arguments`,`stepcount`,`curstepnum`,`status`,`creator`,`updator`)VALUES ('VMS001上線','測試流程',1,'{\"os\": \"centos 8.0\", \"mem_gb\": 24, \"cpu_num\": 8, \"disk_gb\": 100, \"machine_name\": \"VMS001\"}',3,1,'init','steven','steven');# 更新狀態即可運行:update instances set status='standby' where id = 你剛剛插入的id/<code>

就能看到示例工作流跑起來了。


前端站點:

前端站點做的很簡單,基本還沒有完成,因為前端使用主要還是當作demo來用的,有興趣的大家可以自己完成並實現。

數據流程及運行結果展示:


自己設計敏捷工作流引擎(Smart Task Workflow)

流程說明


自己設計敏捷工作流引擎(Smart Task Workflow)

模塊定義示例


自己設計敏捷工作流引擎(Smart Task Workflow)

流程定義示例


自己設計敏捷工作流引擎(Smart Task Workflow)

流程的具體實施步驟定義示例


自己設計敏捷工作流引擎(Smart Task Workflow)

運行流程的是實例示例


自己設計敏捷工作流引擎(Smart Task Workflow)

運行流程實例的每個步驟的過程


分享到:


相關文章: