|
|
@@ -7,7 +7,7 @@
|
|
|
- maven:3.9
|
|
|
- mysql:5.7
|
|
|
|
|
|
-## 架构
|
|
|
+## 模块
|
|
|
devops 项目模块:
|
|
|
- agent
|
|
|
> 监听 127.0.0.1:60001 端口
|
|
|
@@ -26,6 +26,7 @@ devops 项目模块:
|
|
|
>
|
|
|
> 管理节点, 用于管理 agent 节点, 构建部署应用等
|
|
|
|
|
|
+### mgr 和 agent
|
|
|
devops-mgr 和 devops-agent 之间的关系如下图所示:
|
|
|

|
|
|
> agent 和 mgr 之间使用 websocket 进行通信
|
|
|
@@ -39,33 +40,47 @@ devops-mgr 和 devops-agent 之间的关系如下图所示:
|
|
|
> 只能部署一个 mgr 实例
|
|
|
> > 可以在一个节点上同时部署 mgr 和 agent 实例
|
|
|
|
|
|
-## 初始化 MySQL
|
|
|
-- 1.devops/zzz/devops_init.sql 文件是系统的初始数据
|
|
|
-- 2.执行 devops/zzz/init_schema.sh 脚本可完成数据库的创建和初始化
|
|
|
-> 需要自行指定脚本中的 host, username, password, db 等变量值
|
|
|
-- 3.然后可以开始构建和部署系统
|
|
|
+## 构建部署
|
|
|
+### pull 项目源码
|
|
|
+```
|
|
|
+cd ~/Downloads
|
|
|
+git clone https://git.reghao.cn/reghao/devops.git
|
|
|
+```
|
|
|
+
|
|
|
+### 初始化 MySQL
|
|
|
+```
|
|
|
+cd ~/Downloads/devops/zzz
|
|
|
+bash db_init.sh
|
|
|
+```
|
|
|
+> 执行 db_init.sh 会自动创建 devops 项目需要的数据库并初始化数据库表
|
|
|
+> > 需要自行指定 db_init.sh 脚本中的 host, username, password 等变量值
|
|
|
|
|
|
-## 构建
|
|
|
-根据需要构建的类型使用 wget 获取构建脚本:
|
|
|
+### 构建并运行
|
|
|
```
|
|
|
-# 构建 jar 包使用此脚本
|
|
|
-wget https://git.reghao.cn/reghao/bnt/raw/master/zzz/build_jar.sh
|
|
|
+cd ~/Downloads/devops/zzz
|
|
|
+bash build_jar.sh
|
|
|
```
|
|
|
-- 1.修改构建脚本中的 base_dir 变量的值
|
|
|
-- 2.执行构建脚本
|
|
|
-- 3.构建完成
|
|
|
-> 生成的 jar 包会分别存放在 devops/mgr/bin, devops/agent/bin 和 devops/deployer/bin 目录中
|
|
|
-
|
|
|
-## 部署
|
|
|
-### 部署 devops-mgr
|
|
|
-- 1.修改 devops/mgr/bin/devopsmgr.yml 文件中的配置
|
|
|
-> mysql 配置
|
|
|
+> 执行 db_init.sh 会自动构建 devops 各应用 jar 包, 并运行 devops-mgr 应用
|
|
|
+> > build_jar.sh 脚本中的 proj_dir 变量默认是 ~/Downloads/devops
|
|
|
+>
|
|
|
+> mvn 构建默认使用 dev 环境, 所以需要修改 web 模块 resources/application-dev.yml 配置文件中的第三方服务配置
|
|
|
+>
|
|
|
+> 运行 devops-mgr 应用前需要根据环境修改 devops/mgr/bin/devopsmgr.yml 文件中的配置
|
|
|
+> > mysql 配置
|
|
|
>
|
|
|
-> app.baseDir 指定 mgr 产生的数据存放的位置
|
|
|
-- 2.使用 cd 命令切换到 devops/mgr/bin 目录
|
|
|
-- 3.执行 start.sh 脚本
|
|
|
+> > app.baseDir 指定 mgr 产生的数据存放的位置
|
|
|
+>
|
|
|
+> 默认执行 devops/mgr/bin 目录中的 start.sh 脚本, 此时使用 devopsmgr.yml 配置文件
|
|
|
+> > 如果要使用 resources/application-dev.yml 配置文件, 则执行 start1.sh 脚本
|
|
|
+
|
|
|
+### 停止应用
|
|
|
+```
|
|
|
+cd ~/Downloads/devops/web/bin
|
|
|
+bash shutdown.sh
|
|
|
+```
|
|
|
+> 执行 shutdown.sh 会结束 devops-mgr 应用
|
|
|
|
|
|
-### 部署 devops-agent
|
|
|
+## 部署 devops-agent
|
|
|
- 1.修改 devops/agent/bin/devopsagent.json 文件中的配置
|
|
|
> mgrAddress 可以是 IP 地址, 也可以是域名
|
|
|
> > 如果使用域名, 那么 mgrPort 应使用 Nginx 中的配置
|
|
|
@@ -74,7 +89,7 @@ wget https://git.reghao.cn/reghao/bnt/raw/master/zzz/build_jar.sh
|
|
|
|
|
|
### 部署多节点
|
|
|
如果要将 devops-mgr 和 devops-agent 部署到多个节点(注意, devops-mgr 只能部署到多个节点中的某个节点), 可以使用 devops-deployer 工具, 它本质上是一个 SFTP/SSH 客户端, 在和节点建立 SSH 连接后, 执行相应的 Shell 命令.
|
|
|
-- 1.使用 devops/zzz/servers.csv 模板文件
|
|
|
+- 1.使用 devops/zzz/servers2.csv 模板文件
|
|
|
> 在该文件中填写节点的相应信息, 必须指定密码或私钥文件绝对路径
|
|
|
- 2.然后根据需要执行 devops/zzz/deploy_mgr.sh 或 devops/zzz/deploy_agent.sh 脚本
|
|
|
> 首先要设置脚本中 proj_dir, remote_dir 和 server_file 这三个变量的值
|