🍁博主简介:
🏅云计算领域优质创作者
🏅2022年CSDN新星计划python赛道第一名🏅2022年CSDN原力计划优质作者
🏅阿里云ACE认证高级工程师
🏅阿里云开发者社区专家博主💊交流社区:CSDN云计算交流社区欢迎您的加入!
开源软件ferry是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。 致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。
下面对本系统的功能做一个简单介绍。
工单系统相关功能:
-
工单提交申请
-
工单统计
-
多维度工单列表,包括(我创建的、我相关的、我待办的、所有工单)
-
自定义流程
-
自定义模版
-
任务钩子
-
任务管理
-
催办
-
转交
-
手动结单
-
加签
-
多维度处理人,包括(个人,变量 (创建者、创建者负责人))
-
排他网关,即根据条件判断进行工单跳转
-
并行网关,即多个节点同时进行审批处理
-
通知提醒(目前仅支持邮件)
-
流程分类管理
权限管理相关功能,使用 casbin 实现接口权限控制:
-
用户、角色、岗位的增删查改,批量删除,多条件搜索
-
角色、岗位数据导出 Excel
-
重置用户密码
-
维护个人信息,上传管理头像,修改当前账户密码
-
部门的增删查改
-
菜单目录、跳转、按钮及 API 接口的增删查改
-
登陆日志管理
-
左菜单权限控制
-
页面按钮权限控制
-
API 接口权限控制
本次部署环境为CentOS7操作系统
1.安装docker
1.1 关闭防火墙和selinux
[root@xiaopeng ~]# setenforce 0 #关闭selinux
[root@xiaopeng ~]# systemctl stop firewalld #关闭防火墙
[root@xiaopeng ~]# systemctl enable firewalld #设置开机不自启
2.安装docker
2.1 更新yum索引
[root@xiaopeng ~]# yum makecache fast
2.2 卸载旧版本docker
[root@xiaopeng ~]# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.3 安装依赖包
[root@xiaopeng ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
2.4 设置阿里云镜像源
[root@xiaopeng ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@xiaopeng ~]# ls /etc/yum.repos.d/ #查看有docker-ce.repo生成
bak CentOS-7.repo docker-ce.repo epel.repo
2.5安装docker
[root@xiaopeng ~]# yum install -y docker-ce #安装
[root@xiaopeng ~]# systemctl start docker #启动docker
[root@xiaopeng ~]# systemctl disable docker #设为开机自启动
[root@xiaopeng ~]# docker version #查看docker版本
3.docker中部署mysql
3.1 安装启动mysql
下载mysq5.7l镜像
[root@xiaopeng ~]# docker pull mysql:5.7
在容器中运行mysql服务
[root@xiaopeng ~]# docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5.7 #密码设置为111111
[root@xiaopeng ~]# ps -a #查看一下容器正常启动,如下图:
3.2 进入mysql实例
[root@xiaopeng ~]# docker exec -it mysql5.7 bash #进入mysql容器
root@df379c1e9abe:/# mysql -u root -p111111 #登录mysql
mysql> create database ferry; #创建数据库ferry
mysql> show databases; #查看ferry数据库创建成功
+--------------------+
| Database |
+--------------------+
| information_schema |
| ferry |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> exit; #退出mysql
root@df379c1e9abe:/# exit #退出容器
4.docker中部署redis
4.1 安装启动mysql
下载redis6.0镜像
[root@xiaopeng ~]# docker pull redis:6.0
[root@xiaopeng ~]# docker pull redis:6.0 #查看镜像下载成功,如下图:
[root@xiaopeng ~]# docker run -d --name=redis6 -p6379:6379 redis:6.0 #启动容器
[root@xiaopeng ~]# docker ps -a #查看容器启动正常,如下图:
5.部署启动ferry
5.1 获取本机ip
[root@xiaopeng ~]# ip a
5.2 上传ferry代码
下载连接中的ferry代码压缩包(https://download.csdn.net/download/qq_62294245/89408348)
[root@xiaopeng ~]# yum -y install lrzsz #安装文件上传命令
[root@xiaopeng ~]# rz #上传压缩包到服务器
[root@xiaopeng ~]# tar -zxvf ferry20240607.tar.gz #解压缩
5.3 修改ferry配置文件
[root@xiaopeng ~]# cd ferry/
[root@xiaopeng ferry]# vim config/settings.yml
#找到mysql配置进行修改:
database:
dbtype: mysql
host: ferry_mysql
name: ferry
password: 123456
port: 3306
username: root
#修改成如下内容:(ip和密码改成自己的)
database:
dbtype: mysql
host: 192.168.10.225
name: ferry
password: 111111
port: 3306
username: root
#找到redis配置进行修改:
redis:
url: redis://ferry_redis:6379
#修改成如下内容:(ip改成自己的)
redis:
url: redis://192.168.10.225:6379
5.4 创建needinit文件
[root@xiaopeng ferry]# touch config/needinit
注意:在config 目录新建 needinit 文件, 第一次启动的时候db中没有数据,此时可以通过这命令初始化数据,服务正常启动后再删该文件(以防下次容器启动时候再次初始化)
6.启动ferry
6.1 创建ferry容器并启动
下载ferry镜像
[root@xiaopeng ferry]# cd config/ #进入config目录
[root@xiaopeng ferry config]# pwd #查看此目录的绝对路径,下方docker run运行的时候-v参数后面跟的第一个路径为此路径
/root/ferry/config
[root@xiaopeng ferry]# cd ..
[root@xiaopeng ferry]# docker pull lanyulei/ferry:1.0.1 #下载ferry镜像
[root@xiaopeng ferry]# docker images #查看镜像下载成功,如下图:
启动容器
[root@xiaopeng ferry]# docker run -itd --name ferry -v /root/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1
6.2 查看容器状态
[root@xiaopeng ferry]# docker ps -a
# mysql、redis、ferry三个容器状态都为UP则正确,如下图:
7.登录工单系统页面
浏览器访问ip:8002即可(我的是192.168.10.225:8002),注意冒号是英文符合的冒号,如下图:
输入默认账号:admin
输入默认密码:123456
登录进入,如图:
若失败可以下载我安装成功后打包下来的配置文件模板直接进行修改 ,配置文模板