ludu-cloud/.drone.yml
2024-08-15 09:15:08 +08:00

148 lines
6.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

kind: pipeline # 定义对象类型还有secret和signature两种类型
type: docker # 定义流水线类型还有kubernetes、exec、ssh等类型
name: ludu-system-drone # 定义流水线名称
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 package -Dmaven.test.skip=true # 应用打包命令
- 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
- 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
- name: build-infra-and-copy # 构建基础模块和复制票务停车场到轮渡服务器
image: appleboy/drone-ssh # SSH工具镜像
settings:
host: 101.43.112.107 # 远程连接地址
username: root # 远程连接账号
password:
from_secret: ssh_password # 从Secret中读取SSH密码
port: 22 # 远程连接端口
command_timeout: 5m # 远程执行命令超时时间
script:
- echo "start run.sh"
- cd /ludu/maven/build/yudao-gateway/
- chmod +x ./run.sh # 更改为可执行脚本
- ./run.sh || echo "yudao-gateway build failed" # 运行脚本打包应用镜像并运行
- cd /ludu/maven/build/yudao-module-system/
- chmod +x ./run.sh # 更改为可执行脚本
- ./run.sh || echo "yudao-module-system 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" # 运行脚本打包应用镜像并运行
- echo "start copy"
- scp -r /ludu/maven/build/ludu-module-ticketing root@120.46.37.243:/ludu/maven/build
- echo "ticket done"
- scp -r /ludu/maven/build/ludu-module-parking root@120.46.37.243:/ludu/maven/build
- echo "park done"
- scp -r /ludu/maven/build/ludu-module-datacenter root@120.46.37.243:/ludu/maven/build
- echo "datecenter done"
- name: build-other-service
image: appleboy/drone-ssh # SSH工具镜像
settings:
host: 120.46.37.243 # 远程连接地址
username: root # 远程连接账号
password:
from_secret: ssh_password2 # 从Secret中读取SSH密码
port: 22 # 远程连接端口
command_timeout: 5m # 远程执行命令超时时间
script:
- 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/ludu-module-datacenter/
- chmod +x ./run.sh # 更改为可执行脚本
- ./run.sh || echo "ludu-module-datacenter build failed" # 运行脚本打包应用镜像并运行
volumes: # 定义流水线挂载目录,用于共享数据
- name: maven-build
host:
path: /ludu/maven/build # 从宿主机中挂载的目录
- name: maven-cache
host:
path: /ludu/maven/cache # 从宿主机中挂载的目录