he2802 преди 3 години
родител
ревизия
960eb6a9b3
променени са 4 файла, в които са добавени 117 реда и са изтрити 2 реда
  1. 46 0
      .drone-trial.yml
  2. 69 0
      run-trial.sh
  3. 1 1
      zhongzheng-admin/src/main/resources/application-trial.yml
  4. 1 1
      zhongzheng-api/src/main/resources/application-trial.yml

+ 46 - 0
.drone-trial.yml

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

+ 69 - 0
run-trial.sh

@@ -0,0 +1,69 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_name='zhongzheng-trial'
+# 定义应用名称
+app_name='zhongzheng-saas-apitrial'
+# 定义应用版本
+app_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='trial'
+echo '----copy jar----'
+docker stop ${app_name}
+echo '----stop container----'
+docker rm ${app_name}
+echo '----rm container----'
+docker rmi ${group_name}/${app_name}:${app_version}
+echo '----rm image----'
+# 打包编译docker镜像
+docker build -f /mydata/maven/build/Dockerfile -t ${group_name}/${app_name}:${app_version} .
+echo '----build image----'
+docker run -p 6055:5055 --name ${app_name} \
+--restart=always \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /usr/share/fonts:/usr/share/fonts \
+-v /mydata/app/${app_name}/logs:/var/logs \
+-d ${group_name}/${app_name}:${app_version}
+echo '----start container----'
+
+echo "开始等待20秒..."
+# 1-10秒内随机
+sleep 5
+echo "等待后继续"
+
+#!/usr/bin/env bash
+# 定义应用组名
+group_admin_name='zhongzheng-trial'
+# 定义应用名称
+app_admin_name='zhongzheng-saas-admin-trial'
+# 定义应用版本
+app_admin_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='trial'
+echo '----copy jar admin----'
+docker stop ${app_admin_name}
+echo '----stop container admin----'
+docker rm ${app_admin_name}
+echo '----rm container admin----'
+docker rmi ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----rm image admin----'
+# 打包编译docker镜像
+docker build -f /mydata/maven/build/Dockerfile-admi -t ${group_admin_name}/${app_admin_name}:${app_admin_version} .
+echo '----build image admin----'
+docker run \
+-p 6030:5030 \
+--name ${app_admin_name} \
+--restart=always \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /usr/share/fonts:/usr/share/fonts \
+-v /mydata/app/${app_admin_name}/logs:/var/logs \
+-d ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----start container admin----'
+
+
+
+
+

+ 1 - 1
zhongzheng-admin/src/main/resources/application-trial.yml

@@ -6,7 +6,7 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://rm-wz950fu2v70864v85.mysql.rds.aliyuncs.com/zz_edu_saas?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                url: jdbc:mysql://rm-wz950fu2v70864v85.mysql.rds.aliyuncs.com/zz_edu_saas_trial?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
                 username: root
                 password: gdxy2021!@#zzjykj
             # 从库数据源

+ 1 - 1
zhongzheng-api/src/main/resources/application-trial.yml

@@ -6,7 +6,7 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://rm-wz950fu2v70864v85.mysql.rds.aliyuncs.com/zz_edu_saas?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                url: jdbc:mysql://rm-wz950fu2v70864v85.mysql.rds.aliyuncs.com/zz_edu_saas_trial?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
                 username: root
                 password: gdxy2021!@#zzjykj
             # 从库数据源