ZeroErrOACloud-Drone-Java/.drone.yml

105 lines
3.9 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
type: docker
name: testxxx
steps:
# 1.maven打包gateway网关模块
- name: maven compile gateway
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
# 挂载宿主机的目录;也就是下面的/home/zeroerr/drone/maven/build
- name: maven-build-gateway
path: /drone/build/gateway
commands:
# 开始打包maven工程
- mvn clean package -Dmaven.test.skip=true
# 将打包后的文件复制到宿主机映射目录由于该项目打包后jar包在zeroerr_oa-admin模块下所以这里一定要注意每个项目都不一样。
- 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
- 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
# 2.maven打包auth权限验证
- name: maven compile auth
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
# 挂载宿主机的目录;也就是下面的/home/zeroerr/drone/maven/build/auth
- name: maven-build-auth
path: /drone/build/auth
commands:
# 开始打包maven工程
- mvn clean package -Dmaven.test.skip=true
# 将打包后的文件复制到宿主机映射目录由于该项目打包后jar包在zeroerr_oa-admin模块下所以这里一定要注意每个项目都不一样。
- 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
- 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
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-cache
host:
path: /home/zeroerr/drone/maven/cache # 从宿主机中挂载的目录
- name: docker
host:
path: /var/run/docker.sock
# drone执行触发器
trigger:
branch:
- master