From b0b1980cad3c89aa7738cd925c1ede42503e7f4d Mon Sep 17 00:00:00 2001 From: XinWei <2718030729@qq.com> Date: Fri, 23 Aug 2024 14:39:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=84=E5=BB=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 351 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 198 insertions(+), 153 deletions(-) diff --git a/.drone.yml b/.drone.yml index 821b1cab2..53fb98e22 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,180 +1,225 @@ -kind: pipeline # 定义对象类型,还有secret和signature两种类型 - -type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型 - -name: ludu-system-drone # 定义流水线名称 - - -steps: # 定义流水线执行步骤,这些步骤将顺序执行 - - - name: package # 流水线名称 - - image: maven:3-jdk-8 # 定义创建容器的Docker镜像 - - volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置 +kind: pipeline +type: docker +name: ludu-system-drone +steps: + - name: package + image: maven:3-jdk-8 + volumes: - name: maven-cache - - path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载 - + path: /root/.m2 - name: maven-build + path: /app/build + commands: + - mvn package -Dmaven.test.skip=true + - | + if [ "$serverName" = "yudao-gateway" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/yudao-gateway/target + cp ./yudao-gateway/target/yudao-gateway.jar /app/build/yudao-gateway/target + cp ./yudao-gateway/Dockerfile /app/build/yudao-gateway + cp ./yudao-gateway/run.sh /app/build/yudao-gateway + fi - path: /app/build # 将应用打包好的Jar和执行脚本挂载出来 + # 判断是否处理 yudao-module-system + - | + if [ "$serverName" = "yudao-module-system" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/yudao-module-system/target + cp ./yudao-module-system/yudao-module-system-biz/target/yudao-module-system-biz.jar /app/build/yudao-module-system/target + cp ./yudao-module-system/yudao-module-system-biz/Dockerfile /app/build/yudao-module-system + cp ./yudao-module-system/yudao-module-system-biz/run.sh /app/build/yudao-module-system + fi - commands: # 定义在Docker容器中执行的shell命令 + # 判断是否处理 yudao-module-infra + - | + if [ "$serverName" = "yudao-module-infra" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/yudao-module-infra/target + cp ./yudao-module-infra/yudao-module-infra-biz/target/yudao-module-infra-biz.jar /app/build/yudao-module-infra/target + cp ./yudao-module-infra/yudao-module-infra-biz/Dockerfile /app/build/yudao-module-infra + cp ./yudao-module-infra/yudao-module-infra-biz/run.sh /app/build/yudao-module-infra + fi - - mvn package -Dmaven.test.skip=true # 应用打包命令 + # 判断是否处理 ludu-module-ticketing + - | + if [ "$serverName" = "ludu-module-ticketing" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/ludu-module-ticketing/target + cp ./ludu-module-ticketing/ludu-module-ticketing-biz/target/ludu-module-ticketing-biz.jar /app/build/ludu-module-ticketing/target + cp ./ludu-module-ticketing/ludu-module-ticketing-biz/Dockerfile /app/build/ludu-module-ticketing + cp ./ludu-module-ticketing/ludu-module-ticketing-biz/run.sh /app/build/ludu-module-ticketing + fi - # - mkdir -p /app/build/yudao-gateway/target - # - cp ./yudao-gateway/target/yudao-gateway.jar /app/build/yudao-gateway/target - # - cp ./yudao-gateway/Dockerfile /app/build/yudao-gateway - # - cp ./yudao-gateway/run.sh /app/build/yudao-gateway - # - # - mkdir -p /app/build/yudao-module-system/target - # - cp ./yudao-module-system/yudao-module-system-biz/target/yudao-module-system-biz.jar /app/build/yudao-module-system/target - # - cp ./yudao-module-system/yudao-module-system-biz/Dockerfile /app/build/yudao-module-system - # - cp ./yudao-module-system/yudao-module-system-biz/run.sh /app/build/yudao-module-system - # - # - mkdir -p /app/build/yudao-module-infra/target - # - cp ./yudao-module-infra/yudao-module-infra-biz/target/yudao-module-infra-biz.jar /app/build/yudao-module-infra/target - # - cp ./yudao-module-infra/yudao-module-infra-biz/Dockerfile /app/build/yudao-module-infra - # - cp ./yudao-module-infra/yudao-module-infra-biz/run.sh /app/build/yudao-module-infra - # - # - mkdir -p /app/build/ludu-job-admin/target - # - cp ./ludu-job-admin/ludu-job-admin-biz/target/ludu-job-admin-biz.jar /app/build/ludu-job-admin/target - # - cp ./ludu-job-admin/ludu-job-admin-biz/Dockerfile /app/build/ludu-job-admin - # - cp ./ludu-job-admin/ludu-job-admin-biz/run.sh /app/build/ludu-job-admin - # - # - mkdir -p /app/build/ludu-module-ticketing/target - # - cp ./ludu-module-ticketing/ludu-module-ticketing-biz/target/ludu-module-ticketing-biz.jar /app/build/ludu-module-ticketing/target - # - cp ./ludu-module-ticketing/ludu-module-ticketing-biz/Dockerfile /app/build/ludu-module-ticketing - # - cp ./ludu-module-ticketing/ludu-module-ticketing-biz/run.sh /app/build/ludu-module-ticketing - # - # - mkdir -p /app/build/ludu-module-parking/target - # - cp ./ludu-module-parking/ludu-module-parking-biz/target/ludu-module-parking-biz.jar /app/build/ludu-module-parking/target - # - cp ./ludu-module-parking/ludu-module-parking-biz/Dockerfile /app/build/ludu-module-parking - # - cp ./ludu-module-parking/ludu-module-parking-biz/run.sh /app/build/ludu-module-parking + # 判断是否处理 ludu-module-parking + - | + if [ "$serverName" = "ludu-module-parking" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/ludu-module-parking/target + cp ./ludu-module-parking/ludu-module-parking-biz/target/ludu-module-parking-biz.jar /app/build/ludu-module-parking/target + cp ./ludu-module-parking/ludu-module-parking-biz/Dockerfile /app/build/ludu-module-parking + cp ./ludu-module-parking/ludu-module-parking-biz/run.sh /app/build/ludu-module-parking + fi - - mkdir -p /app/build/ludu-module-datacenter/target - - cp ./ludu-module-datacenter/ludu-module-datacenter-biz/target/ludu-module-datacenter-biz.jar /app/build/ludu-module-datacenter/target - - cp ./ludu-module-datacenter/ludu-module-datacenter-biz/Dockerfile /app/build/ludu-module-datacenter - - cp ./ludu-module-datacenter/ludu-module-datacenter-biz/run.sh /app/build/ludu-module-datacenter + # 判断是否处理 ludu-module-datacenter + - | + if [ "$serverName" = "ludu-module-datacenter" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/ludu-module-datacenter/target + cp ./ludu-module-datacenter/ludu-module-datacenter-biz/target/ludu-module-datacenter-biz.jar /app/build/ludu-module-datacenter/target + cp ./ludu-module-datacenter/ludu-module-datacenter-biz/Dockerfile /app/build/ludu-module-datacenter + cp ./ludu-module-datacenter/ludu-module-datacenter-biz/run.sh /app/build/ludu-module-datacenter + fi - - name: copy-to-object # 构建基础模块和复制票务停车场到轮渡服务器 - - image: appleboy/drone-ssh # SSH工具镜像 + # 判断是否处理 ludu-job-admin + - | + if [ "$serverName" = "ludu-job-admin" ] || [ "$serverName" = "all" ]; then + mkdir -p /app/build/ludu-job-admin/target + cp ./ludu-job-admin/ludu-job-admin-biz/target/ludu-job-admin-biz.jar /app/build/ludu-job-admin/target + cp ./ludu-job-admin/ludu-job-admin-biz/Dockerfile /app/build/ludu-job-admin + cp ./ludu-job-admin/ludu-job-admin-biz/run.sh /app/build/ludu-job-admin + fi + - name: copy-to-object + image: appleboy/drone-ssh settings: - - host: 101.43.112.107 # 远程连接地址 - - username: root # 远程连接账号 - + host: 101.43.112.107 + username: root password: - - from_secret: ssh_password # 从Secret中读取SSH密码 - - port: 22 # 远程连接端口 - - command_timeout: 15m # 远程执行命令超时时间 - + from_secret: ssh_password + port: 22 + command_timeout: 15m script: - - echo "start copy" - # - cd /ludu/maven - # - tar -cf ludu-build.tar ./build - # - scp ludu-build.tar root@121.36.203.133:/ludu/maven - # - scp -r /ludu/maven/build/yudao-gateway root@121.36.203.133:/ludu/maven/build - # - echo "gateway done" - # - scp -r /ludu/maven/build/yudao-module-system root@121.36.203.133:/ludu/maven/build - # - echo "system done" - # - scp -r /ludu/maven/build/ludu-module-ticketing root@121.36.203.133:/ludu/maven/build - # - echo "ticketing done" - # - scp -r /ludu/maven/build/ludu-module-parking root@121.36.203.133:/ludu/maven/build - # - echo "parking done" - # - scp -r /ludu/maven/build/yudao-module-infra root@121.36.203.133:/ludu/maven/build - # - echo "infra done" - # - scp -r /ludu/maven/build/ludu-job-admin root@121.36.203.133:/ludu/maven/build - # - echo "job done" - - scp -r /ludu/maven/build/ludu-module-datacenter root@120.46.37.243:/ludu/maven/build - - echo "datacenter done" + - | + if [ "$serverName" = "yudao-gateway" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/yudao-gateway root@121.36.203.133:/ludu/maven/build + echo "gateway done" + fi + # 判断是否处理 yudao-module-system + - | + if [ "$serverName" = "yudao-module-system" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/yudao-module-system root@121.36.203.133:/ludu/maven/build + echo "system done" + fi + + # 判断是否处理 yudao-module-infra + - | + if [ "$serverName" = "yudao-module-infra" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/yudao-module-infra root@121.36.203.133:/ludu/maven/build + echo "infra done" + fi + + # 判断是否处理 ludu-module-ticketing + - | + if [ "$serverName" = "ludu-module-ticketing" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/ludu-module-ticketing root@121.36.203.133:/ludu/maven/build + echo "ticketing done" + fi + + # 判断是否处理 ludu-module-parking + - | + if [ "$serverName" = "ludu-module-parking" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/ludu-module-parking root@121.36.203.133:/ludu/maven/build + echo "parking done" + fi + + # 判断是否处理 ludu-module-datacenter + - | + if [ "$serverName" = "ludu-module-datacenter" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/ludu-module-datacenter root@120.46.37.243:/ludu/maven/build + echo "datacenter done" + fi + + # 判断是否处理 ludu-job-admin + - | + if [ "$serverName" = "ludu-job-admin" ] || [ "$serverName" = "all" ]; then + scp -r /ludu/maven/build/ludu-job-admin root@121.36.203.133:/ludu/maven/build + echo "job done" + fi - name: build-other-service - - image: appleboy/drone-ssh # SSH工具镜像 - + image: appleboy/drone-ssh settings: - - host: 120.46.37.243 # 远程连接地址 - - username: root # 远程连接账号 - + host: 120.46.37.243 + username: root password: + from_secret: ssh_password2 + port: 22 + command_timeout: 5m + script: + - | + if [ "$serverName" = "ludu-module-datacenter" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/ludu-module-datacenter/ + chmod +x ./run.sh + ./run.sh || echo "ludu-module-datacenter build failed" + fi - from_secret: ssh_password2 # 从Secret中读取SSH密码 - - port: 22 # 远程连接端口 - - command_timeout: 5m # 远程执行命令超时时间 - + - name: object-build + image: appleboy/drone-ssh + settings: + host: 121.36.203.133 + username: root + password: + from_secret: ssh_password3 + port: 22 + command_timeout: 20m script: - - cd /ludu/maven/build/ludu-module-datacenter/ - - chmod +x ./run.sh # 更改为可执行脚本 - - ./run.sh || echo "ludu-module-datacenter build failed" # 运行脚本打包应用镜像并运行 -# - name: object-build -# -# image: appleboy/drone-ssh # SSH工具镜像 -# -# settings: -# -# host: 121.36.203.133 # 远程连接地址 -# -# username: root # 远程连接账号 -# -# password: -# -# from_secret: ssh_password3 # 从Secret中读取SSH密码 -# -# port: 22 # 远程连接端口 -# -# command_timeout: 20m # 远程执行命令超时时间 -# -# script: -# - cd /ludu/maven -# - rm -rf ./build -# - tar -xf ludu-build.tar -C ./ -# -# - cd /ludu/maven/build/yudao-gateway/ -# - chmod +x ./run.sh # 更改为可执行脚本 -# - ./run.sh || echo "ludu-module-ticketing build failed" # 运行脚本打包应用镜像并运行 -# -# - cd /ludu/maven/build/yudao-module-system/ -# - chmod +x ./run.sh # 更改为可执行脚本 -# - ./run.sh || echo "ludu-module-datacenter build failed" # 运行脚本打包应用镜像并运行 -# -# - cd /ludu/maven/build/ludu-module-ticketing/ -# - chmod +x ./run.sh # 更改为可执行脚本 -# - ./run.sh || echo "ludu-module-ticketing build failed" # 运行脚本打包应用镜像并运行 -# -# - cd /ludu/maven/build/ludu-module-parking/ -# - chmod +x ./run.sh # 更改为可执行脚本 -# - ./run.sh || echo "ludu-module-parking build failed" # 运行脚本打包应用镜像并运行 -# -# - cd /ludu/maven/build/yudao-module-infra/ -# - chmod +x ./run.sh # 更改为可执行脚本 -# - ./run.sh || echo "yudao-module-infra build failed" # 运行脚本打包应用镜像并运行 -# -# - cd /ludu/maven/build/ludu-job-admin/ -# - chmod +x ./run.sh # 更改为可执行脚本 -# - ./run.sh || echo "ludu-job-admin build failed" # 运行脚本打包应用镜像并运行 + # 判断是否处理 yudao-gateway + - | + if [ "$serverName" = "yudao-gateway" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/yudao-gateway/ + chmod +x ./run.sh + ./run.sh || echo "yudao-gateway build failed" + fi -volumes: # 定义流水线挂载目录,用于共享数据 + # 判断是否处理 yudao-module-system + - | + if [ "$serverName" = "yudao-module-system" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/yudao-module-system/ + chmod +x ./run.sh + ./run.sh || echo "yudao-module-system build failed" + fi + # 判断是否处理 yudao-module-infra + - | + if [ "$serverName" = "yudao-module-infra" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/yudao-module-infra/ + chmod +x ./run.sh + ./run.sh || echo "yudao-module-infra build failed" + fi + + # 判断是否处理 ludu-module-ticketing + - | + if [ "$serverName" = "ludu-module-ticketing" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/ludu-module-ticketing/ + chmod +x ./run.sh + ./run.sh || echo "ludu-module-ticketing build failed" + fi + + # 判断是否处理 ludu-module-parking + - | + if [ "$serverName" = "ludu-module-parking" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/ludu-module-parking/ + chmod +x ./run.sh + ./run.sh || echo "ludu-module-parking build failed" + fi + + # 判断是否处理 ludu-module-datacenter + - | + if [ "$serverName" = "ludu-module-datacenter" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/ludu-module-datacenter/ + chmod +x ./run.sh + ./run.sh || echo "ludu-module-datacenter build failed" + fi + + # 判断是否处理 ludu-job-admin + - | + if [ "$serverName" = "ludu-job-admin" ] || [ "$serverName" = "all" ]; then + cd /ludu/maven/build/ludu-job-admin/ + chmod +x ./run.sh + ./run.sh || echo "ludu-job-admin build failed" + fi + +volumes: - name: maven-build host: - path: /ludu/maven/build # 从宿主机中挂载的目录 - + path: /ludu/maven/build - name: maven-cache host: - path: /ludu/maven/cache # 从宿主机中挂载的目录 \ No newline at end of file + path: /ludu/maven/cache