You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.9 KiB
YAML

2 years ago
kind: pipeline # 定义一个管道
type: docker # 当前管道的类型
name: test # 当前管道的名称
steps: # 定义管道的执行步骤
#加载缓存
- name: cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
restore: true
mount:
- ./vendo
- name: build-jar # 步骤名称
image: maven:3.8.5-openjdk-8 # 当前步骤使用的镜像
volumes:
- name: maven-cache
path: /root/.m2 # 将maven下载依赖的目录挂载出来防止重复下载
- name: maven-build
path: /app/build # 将应用打包好的Jar和执行脚本挂载出来
2 years ago
commands: # 当前步骤执行的命令
- mvn clean package -DskipTests=true # 应用打包命
- cp target/ips-ci-demo-1.0.jar /app/build/ips-ci-demo-1.0.jar
- cp entrypoint.sh /app/build/
- cp Dockerfile /app/build/
- cp run.sh /app/build/
- name: build-docker
image: plugins/docker
volumes: # 将容器内目录挂载到宿主机仓库需要开启Trusted设置
- name: maven-build
path: /app/build # 将应用打包好的Jar和执行脚本挂载出来
- name: docker
path: /var/run/docker.sock # 挂载宿主机的docker
settings:
dockerfile: /app/build/Dockerfile
commands: # 定义在Docker容器中执行的shell命令
- cd /app/build
- chmod +x run.sh
- sh run.sh
- docker ps
#构建缓存
- name: rebuild
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
rebuild: true
mount:
- ./vendor
volumes: # 定义流水线挂载目录,用于共享数据
- name: maven-build
host:
path: /home/data/maven/build # 从宿主机中挂载的目录
- name: maven-cache
host:
path: /home/data/maven/cache
- name: docker
host:
path: /var/run/docker.sock