Bläddra i källkod

chore: 新增测试环境自动打包

hanfangyu 1 år sedan
förälder
incheckning
1911e6f8fd
4 ändrade filer med 92 tillägg och 9 borttagningar
  1. 45 0
      .dev.drone.yml
  2. 1 2
      Dockerfile
  3. 46 0
      run_dev.sh
  4. 0 7
      src/main/resources/application-dev.yml

+ 45 - 0
.dev.drone.yml

@@ -0,0 +1,45 @@
+kind: pipeline # 定义对象类型,还有secret和signature两种类型
+type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
+name: ezhizao_yzbh_sys_api # 定义流水线名称
+
+steps: # 定义流水线执行步骤,这些步骤将顺序执行
+  - name: package # 流水线名称
+    image: swr.cn-north-4.myhuaweicloud.com/cloud-zhanglingyang/maven:3-jdk-8 # 定义创建容器的Docker镜像
+    volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
+      - name: maven-cache
+        path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
+      - name: maven-build
+        path: /home/build # 将应用打包好的Jar和执行脚本挂载出来
+    commands: # 定义在Docker容器中执行的shell命令
+      - mvn clean package # 应用打包命令
+      - mkdir -p /home/build/ezhizao_yzbh_sys/jar/
+      - cp target/ezhizao_yzbh_sys.jar /home/build/ezhizao_yzbh_sys/jar/ezhizao_yzbh_sys.jar
+      - cp Dockerfile /home/build/ezhizao_yzbh_sys/Dockerfile
+      - cp run_dev.sh /home/build/ezhizao_yzbh_sys/run.sh
+
+  - name: build-start
+    image: swr.cn-north-4.myhuaweicloud.com/cloud-zhanglingyang/appleboy/drone-ssh:1.7.7 # SSH工具镜像
+    settings:
+      host: 82.156.209.15 # 远程连接地址
+      username:
+        from_secret: ssh_user # 远程连接账号
+      password:
+        from_secret: ssh_password # 从Secret中读取SSH密码
+      port: 22 # 远程连接端口
+      command_timeout: 5m # 远程执行命令超时时间
+      script:
+        - cd /home/build/ezhizao_yzbh_sys # 进入宿主机构建目录
+        - chmod +x run.sh # 更改为可执行脚本
+        - ./run.sh # 运行脚本打包应用镜像并运行
+
+volumes: # 定义流水线挂载目录,用于共享数据
+  - name: maven-build
+    host:
+      path: /home/build  # 从宿主机中挂载的目录
+  - name: maven-cache
+    host:
+      path: /home/cache
+
+trigger:
+  branch:
+    - develop

+ 1 - 2
Dockerfile

@@ -1,6 +1,5 @@
 # 基础镜像
-#FROM ibm-semeru-runtimes:open-8-jre
-FROM openjdk:8
+FROM swr.cn-north-4.myhuaweicloud.com/cloud-zhanglingyang/ibm-semeru-runtimes:open-8-jre
 
 # 创建挂载目录
 RUN mkdir -p /jar

+ 46 - 0
run_dev.sh

@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_name='ezhizao'
+
+# 定义应用名称
+app_name='ezhizao_yzbh_sys_api'
+# 定义挂载目录名称
+volume_name='ezhizao_yzbh_sys'
+# 定义应用版本
+app_version='1.0-SNAPSHOT'
+# 定义后端端口
+app_port=8040
+# 定义应用环境
+profile_active='dev'
+
+# 删除镜像
+# docker rmi ${group_name}/${app_name}:${app_version}
+# echo '----rm image----'
+
+# 打包编译docker镜像
+docker build -t ${group_name}/${app_name}:${app_version} .
+
+if [ $? -eq 0 ]; then
+    echo '----build image success----'
+else
+    echo '----build image fail----'
+    exit 1
+fi
+
+# 停止容器
+docker stop ${app_name}
+echo '----stop container----'
+
+# 删除容器
+docker rm ${app_name}
+echo '----rm container----'
+
+docker run -p ${app_port}:${app_port} --name ${app_name} --network yzbh_network \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /home/build/${volume_name}/logs:/home/ruoyi/logs \
+-v /home/files:/home/files \
+-d ${group_name}/${app_name}:${app_version}
+echo '----start container----'
+docker system prune --filter "label!=yzbh_network"
+echo '----clear docker----'

+ 0 - 7
src/main/resources/application-dev.yml

@@ -36,13 +36,6 @@ spring:
                 url: jdbc:mysql://82.156.209.15:3306/ezhizao_yzbh_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&rewriteBatchedStatements=true&serverTimezone=GMT%2B8&connectTimeout=360000&socketTimeout=360000
                 username: admin
                 password: admin
-            # 从库数据源
-#            slave:
-#                # 从数据源开关/默认关闭
-#                enabled: true
-#                url: jdbc:mysql://116.204.99.126:3306/snms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&rewriteBatchedStatements=true&serverTimezone=GMT%2B8
-#                username: idis_user
-#                password: Teleinfo-88
             # 初始连接数
             initialSize: 5
             # 最小连接池数量