ZeroErrOACloud-Drone-Java/.drone.yml

116 lines
4.3 KiB
YAML
Raw Permalink 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
type: docker
name: default
steps:
# 1.maven打包gateway网关模块
- name: maven compile
pull: if-not-exists
# 构建镜像的maven+jdk选择最好选择满足匹配你的项目版本的;这里的maven是maven3
image: adoptopenjdk/maven-openjdk8
volumes:
# maven构建缓存也就是下面的/home/zeroerr/drone/maven/cache
- name: maven-cache
path: /root/.m2
- name: maven-build-gateway
path: /drone/build/gateway
- name: maven-build-auth
path: /drone/build/auth
- name: maven-build-system
path: /drone/build/system
commands:
# 开始打包maven工程
- mvn clean package -Dmaven.test.skip=true
# 将打包后的文件复制到宿主机映射目录。gateway模块
- cp zeroerroa-gateway/target/*.jar /drone/build/gateway
- cp Dockerfile/Dockerfile-gateway /drone/build/gateway
- cp DockerSH/docker-gateway.sh /drone/build/gateway
- cp StartSH/start-gateway.sh /drone/build/gateway
# 将打包后的文件复制到宿主机映射目录。auth模块
- cp zeroerroa-auth/target/*.jar /drone/build/auth
- cp Dockerfile/Dockerfile-auth /drone/build/auth
- cp DockerSH/docker-auth.sh /drone/build/auth
- cp StartSH/start-auth.sh /drone/build/auth
# 将打包后的文件复制到宿主机映射目录。system模块
- cp zeroerroa-modules/zeroerroa-system/target/*.jar /drone/build/system
- cp Dockerfile/Dockerfile-system /drone/build/system
- cp DockerSH/docker-system.sh /drone/build/system
- cp StartSH/start-system.sh /drone/build/system
- name: build docker gateway
image: plugins/docker
volumes:
# 将容器内目录挂载到宿主机仓库需要开启Trusted设置
- name: maven-build-gateway
path: /drone/build/gateway # 将应用打包好的Jar和执行脚本挂载出来
- name: docker
path: /var/run/docker.sock # 挂载宿主机的docker
settings:
dockerfile: /drone/build/Dockerfile-gateway #这里的Dockerfile就是项目根目录里的Dockerfile必须保证名字和内容无误
commands:
# 定义在Docker容器中执行的shell命令
- cd /drone/build/gateway
- chmod +x docker-gateway.sh
- sh docker-gateway.sh
- docker ps
- name: build docker auth
image: plugins/docker
volumes:
# 将容器内目录挂载到宿主机仓库需要开启Trusted设置
- name: maven-build-auth
path: /drone/build/auth # 将应用打包好的Jar和执行脚本挂载出来
- name: docker
path: /var/run/docker.sock # 挂载宿主机的docker
settings:
dockerfile: /drone/build/Dockerfile-auth #这里的Dockerfile就是项目根目录里的Dockerfile必须保证名字和内容无误
commands:
# 定义在Docker容器中执行的shell命令
- cd /drone/build/auth
- chmod +x docker-auth.sh
- sh docker-auth.sh
- docker ps
- name: build docker system
image: plugins/docker
volumes:
# 将容器内目录挂载到宿主机仓库需要开启Trusted设置
- name: maven-build-system
path: /drone/build/system # 将应用打包好的Jar和执行脚本挂载出来
- name: docker
path: /var/run/docker.sock # 挂载宿主机的docker
settings:
dockerfile: /drone/build/Dockerfile-system #这里的Dockerfile就是项目根目录里的Dockerfile必须保证名字和内容无误
commands:
# 定义在Docker容器中执行的shell命令
- cd /drone/build/system
- chmod +x docker-system.sh
- sh docker-system.sh
- docker ps
volumes: # 定义流水线挂载目录,用于共享数据
- name: maven-build-gateway
host:
path: /home/zeroerr/drone/maven/build/gateway # 从宿主机中挂载的目录
- name: maven-build-auth
host:
path: /home/zeroerr/drone/maven/build/auth # 从宿主机中挂载的目录
- name: maven-build-system
host:
path: /home/zeroerr/drone/maven/build/system # 从宿主机中挂载的目录
- name: maven-cache
host:
path: /home/zeroerr/drone/maven/cache # 从宿主机中挂载的目录
- name: docker
host:
path: /var/run/docker.sock
# drone执行触发器
trigger:
branch:
- master