专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

自己设计敏捷工作流引擎(Smart Task Workflow)

ins518 2024-10-05 20:43:26 技术文章 13 ℃ 0 评论

设计原因: 在从事运维工作的时候,时常需要实现自动化流程,但是经常都是自己做个小脚本,没有系统的程序来管理他们,于是为了很好的管理这些小脚本或者模块,并让这些模块具有可重用性,所以就设计了这个工具。

目的:这次主要是想介绍下我自己研究并设计的流程自动化工具,希望这款敏捷自动化流程工具是运维人员的定制化武器 dev ops 的福音 #workflow #dev ops

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

架构:本程序主要是后端服务性质的程序,而前端站点主要是管理用的可以自行根据需求潜入到自己的管理站点中。

废话不多说,介绍下我的这个引擎使用方法:

为了大家可以尝试使用我把工具包装简化成doker来运行了。

Demo运行环境:linux + docker + docker-compose + python3

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

第二步:启动docker-compose 服务

cd taskflow
docker-compose up -d

第三步:初始化测试数据

连接上docker 启动的mysql

docker exec -it task-db /bin/bash

mysql 的账号是root 密码是12345678

执行代码目录下的taskflowdb.sql 创建db及表及测试数据。

第四步:体验下数据

# 插入一条测试的流程实例
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

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


前端站点:

前端站点做的很简单,基本还没有完成,因为前端使用主要还是当作demo来用的,有兴趣的大家可以自己完成并实现。

数据流程及运行结果展示:







本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表