he2802 4 anos atrás
pai
commit
526ea799fe

+ 44 - 0
.drone.yml

@@ -0,0 +1,44 @@
+kind: pipeline # 定义对象类型,还有secret和signature两种类型
+type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
+name: zz_backend # 定义流水线名称
+
+steps: # 定义流水线执行步骤,这些步骤将顺序执行
+  - name: package # 流水线名称
+    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 Dockerfile /app/build/Dockerfile
+      - cp Dockerfile-admin /app/build/Dockerfile-admin
+      - cp run.sh /app/build/run.sh
+      - cp run-admin.sh /app/build/run-admin.sh
+
+  - name: build-start
+    image: appleboy/drone-ssh:latest # SSH工具镜像
+    settings:
+      host: 192.168.0.222 # 远程连接地址
+      username: root # 远程连接账号
+      password:
+        from_secret: ssh_password # 从Secret中读取SSH密码
+      port: 22 # 远程连接端口
+      command_timeout: 5m # 远程执行命令超时时间
+      script:
+        - cd /mydata/maven/build # 进入宿主机构建目录
+        - chmod +x run.sh # 更改为可执行脚本
+        - chmod +x run-admin.sh # 更改为可执行脚本
+        - ./run.sh # 运行脚本打包应用镜像并运行
+        - ./run-admin.sh # 运行脚本打包应用镜像并运行
+
+volumes: # 定义流水线挂载目录,用于共享数据
+  - name: maven-build
+    host:
+      path: /mydata/maven/build # 从宿主机中挂载的目录
+  - name: maven-cache
+    host:
+      path: /mydata/maven/cache

+ 10 - 0
Dockerfile

@@ -0,0 +1,10 @@
+# 该镜像需要依赖的基础镜像
+FROM java:8
+# 将当前目录下的jar包复制到docker容器的/目录下
+ADD zhongzheng-api.jar /app.jar
+# 声明服务运行在8080端口
+EXPOSE 8088
+# 指定docker容器启动时运行jar包
+ENTRYPOINT ["java", "-jar","/app.jar"]
+# 指定维护者的名字
+MAINTAINER change

+ 10 - 0
Dockerfile-admin

@@ -0,0 +1,10 @@
+# 该镜像需要依赖的基础镜像
+FROM java:8
+# 将当前目录下的jar包复制到docker容器的/目录下
+ADD zhongzheng-admin.jar /app-admin.jar
+# 声明服务运行在8080端口
+EXPOSE 9099
+# 指定docker容器启动时运行jar包
+ENTRYPOINT ["java", "-jar","/app-admin.jar"]
+# 指定维护者的名字
+MAINTAINER change

+ 1 - 0
pom.xml

@@ -99,6 +99,7 @@
             </dependency>
 
             <!--velocity代码生成使用模板 -->
+
             <dependency>
                 <groupId>org.apache.velocity</groupId>
                 <artifactId>velocity</artifactId>

+ 27 - 0
run-admin.sh

@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_admin_name='zhongzheng'
+# 定义应用名称
+app_admin_name='zhongzheng-admin'
+# 定义应用版本
+app_admin_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='prod'
+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-admin -t ${group_admin_name}/${app_admin_name}:${app_admin_version} .
+echo '----build image admin----'
+docker run -p 9099:9099 --name ${app_admin_name} \
+--link mysql:db \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /mydata/app/${app_admin_name}/logs:/var/logs \
+-d ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----start container admin----'

+ 27 - 0
run.sh

@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_name='zhongzheng'
+# 定义应用名称
+app_name='zhongzheng-api'
+# 定义应用版本
+app_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='prod'
+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 8088:8088 --name ${app_name} \
+--link mysql:db \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /mydata/app/${app_name}/logs:/var/logs \
+-d ${group_name}/${app_name}:${app_version}
+echo '----start container----'

+ 2 - 2
zhongzheng-admin/src/main/resources/application-prod.yml

@@ -6,9 +6,9 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                url: jdbc:mysql://192.168.0.222:3306/zz_edu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
                 username: root
-                password: root
+                password: zhongzheng2021
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭

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

@@ -26,7 +26,7 @@ captcha:
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为8080
-  port: 8080
+  port: 9099
   servlet:
     # 应用的访问路径
     context-path: /

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

@@ -58,7 +58,7 @@ spring:
     # redis 配置
     redis:
         # 地址
-        host: 127.0.0.1
+        host: 192.168.0.222
         # 端口,默认为6379
         port: 6379
         # 数据库索引

+ 2 - 2
zhongzheng-api/src/main/resources/application-prod.yml

@@ -6,9 +6,9 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                url: jdbc:mysql://192.168.0.222:3306/zz_edu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
                 username: root
-                password: root
+                password: zhongzheng2021
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭

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

@@ -26,7 +26,7 @@ captcha:
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为8080
-  port: 9090
+  port: 8088
   servlet:
     # 应用的访问路径
     context-path: /