Jelajahi Sumber

整理脚本和文档

reghao 1 tahun lalu
induk
melakukan
92ceea6cce
8 mengubah file dengan 56 tambahan dan 29 penghapusan
  1. 39 0
      README.md
  2. 0 0
      agent/bin/devopsagent.json
  3. 1 1
      agent/bin/start.sh
  4. 0 7
      web/Dockerfile
  5. 7 0
      web/bin/devopsweb.yml
  6. 8 1
      web/bin/start.sh
  7. 0 18
      zzz/build_image.sh
  8. 1 2
      zzz/build_jar.sh

+ 39 - 0
README.md

@@ -1 +1,40 @@
 # devops
+后台使用的 layui 模板来自[这个项目](https://gitee.com/aun/Timo) master 分支的 12345678 版本
+
+devops 项目模块:
+- agent
+- common
+- deployer
+- logstash
+- web
+
+## 依赖
+- jdk
+- maven
+- mysql
+
+## 架构
+devops-web 和 devops-agent 之间的关系如下图所示:
+![]()
+> agent 和 web 之间使用 websocket 进行通信
+> 
+> 每台被管理的机器上需要部署且只能一个 agent 实例
+>
+> 只能部署一个 web 实例
+
+## 构建
+构建 jar 包流程:
+- 1.使用 cd 命令切换到 devops/zzz 目录
+- 2.执行 build_jar.sh 脚本
+- 3.构建完成后, 生成的 jar 包会存放在 devops/web/bin 和 devops/agent/bin 目录中
+
+## 部署
+部署 devops-web 流程:
+- 1.修改 devops/web/bin/devopsweb.yml 文件中的 mysql 配置
+- 2.使用 cd 命令切换到 devops/web/bin 目录
+- 3.执行 start.sh 脚本
+
+部署 devops-agent 流程:
+- 1.修改 devops/agent/bin/devopsagent.json 文件中的配置
+- 2.使用 cd 命令切换到 devops/agent/bin 目录
+- 3.执行 start.sh 脚本

+ 0 - 0
agent/bin/agent.json → agent/bin/devopsagent.json


+ 1 - 1
agent/bin/start.sh

@@ -2,4 +2,4 @@
 
 app_dir=`pwd`
 app_name='devops-agent.jar'
-nohup java -jar ${app_dir}"/"${app_name} ${app_dir}/agent.json > console.log 2>&1 &
+java -jar ${app_dir}"/"${app_name} ${app_dir}/devopsagent.json > console.log 2>&1 &

+ 0 - 7
web/Dockerfile

@@ -1,7 +0,0 @@
-FROM adoptopenjdk/openjdk11:x86_64-debianslim-jdk-11.0.24_8-slim
-
-WORKDIR /app
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
-COPY bin/devops-web.jar /app/devops-web.jar
-
-ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Djava.awt.headless=true","-jar","/app/devops-web.jar"]

+ 7 - 0
web/bin/devopsweb.yml

@@ -0,0 +1,7 @@
+spring:
+  thymeleaf:
+    cache: true
+  datasource:
+    url: jdbc:mysql://192.168.0.210/reghao_devops_tdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
+    username: test
+    password: Test@123456

+ 8 - 1
web/bin/start.sh

@@ -2,4 +2,11 @@
 
 app_dir=`pwd`
 app_name='devops-web.jar'
-nohup java -jar ${app_dir}"/"${app_name} > console.log 2>&1 &
+#java -jar ${app_dir}"/"${app_name} > console.log 2>&1 &
+
+# 使用 mvn clean package -Dmaven.test.skip -Ptest 生成 jar
+# 运行时加载 application.yml 和 devopsweb.yml 两个配置文件, 分别位于 classpath 和文件系统路径
+# 外部指定的 devopsweb.yml 文件会覆盖 resources/application-test.yml 文件
+java -jar ${app_dir}"/"${app_name} \
+--spring.config.location=classpath:/application.yml,file:${app_dir}/devopsweb.yml \
+> console.log 2>&1 &

+ 0 - 18
zzz/build_image.sh

@@ -1,18 +0,0 @@
-#!/bin/bash
-
-cd /home/reghao/code/java/devops
-commit_id=`git rev-parse HEAD | cut -c 1-8`
-
-#docker_prefix='docker.reghao.cn/tnb'
-docker_prefix='registry.cn-chengdu.aliyuncs.com/reghao/devopsweb'
-mvn clean package -Dmaven.test.skip=true -am -pl web
-cd /home/reghao/code/java/devops/web
-docker build -t ${docker_prefix}:${commit_id} .
-#docker push ${docker_prefix}:${commit_id}
-
-cd /home/reghao/code/java/devops
-docker_prefix='registry.cn-chengdu.aliyuncs.com/reghao/devopsagent'
-mvn clean package -Dmaven.test.skip=true -am -pl agent
-cd /home/reghao/code/java/devops/agent
-docker build -t ${docker_prefix}:${commit_id} .
-#docker push ${docker_prefix}:${commit_id}

+ 1 - 2
zzz/build_jar.sh

@@ -1,7 +1,6 @@
 #!/bin/bash
 
-cd /home/reghao/code/java/devops
+cd ..
 #mvn clean package -Dmaven.test.skip=true -Ptest
-
 mvn clean package -Dmaven.test.skip=true -am -pl web -Ptest
 mvn clean package -Dmaven.test.skip=true -am -pl agent