# devops 后台使用的 layui 模板来自[这个项目](https://gitee.com/aun/Timo) master 分支的 a806fd0a 版本 ## 依赖 - os:Linux - jdk:11 - maven:3.9 - mysql:5.7 ## 架构 devops 项目模块: - agent > 代理节点, 用于管理机器 - common > 公共依赖 - deployer > 用来部署 mgr 和 agent 的工具 - logstash > 日志收集器 - mgr > 管理节点 devops-mgr 和 devops-agent 之间的关系如下图所示: ![](https://blog.reghao.cn/file/e4fc2c65c2f44374a09dbb916499a5bf.png) > agent 和 mgr 之间使用 websocket 进行通信 > > 每台被管理的机器上都需要且只能一个部署 agent 实例 > > 在 agent 的配置文件中指定 mgr 的地址 > > > agent 使用 Linux /etc/machine-id 文件中的字符串作为 machineId 在 mgr 中唯一地标识一台机器 > > > 如果 VirtualBox 中使用的 vdisk 是通过 clonehd 得到, 那么多台 VM 中 /etc/machine-id 文件的内容是相同的, 此时需要在 VM 中执行 devops/zzz/reset_machine_id.sh 脚本来重置 machine-id > > 只能部署一个 mgr 实例 ## 初始化 MySQL - 1.devops/zzz/schema.sql 文件是系统的初始数据 - 2.执行 devops/zzz/init_schema.sh 脚本可完成数据库的创建和初始化 > 需要自行指定脚本中的 host, username, password, db 等变量值 - 3.然后可以开始构建和部署系统 ## 构建 构建 jar 包流程: - 1.使用 cd 命令切换到 devops/zzz 目录 - 2.执行 build_jar.sh 脚本 - 3.构建完成后, 生成的 jar 包会存放在 devops/mgr/bin 和 devops/agent/bin 目录中 ## 部署 部署 devops-mgr 流程: - 1.修改 devops/mgr/bin/devopsmgr.yml 文件中的配置 > mysql 配置 > > app.baseDir 指定 mgr 产生的数据存放的位置 - 2.使用 cd 命令切换到 devops/mgr/bin 目录 - 3.执行 start.sh 脚本 部署 devops-agent 流程: - 1.修改 devops/agent/bin/devopsagent.json 文件中的配置 - 2.使用 cd 命令切换到 devops/agent/bin 目录 - 3.执行 start.sh 脚本