| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- kind: pipeline
- type: docker
- name: default
- trigger:
- branch:
- - master
- - develop
- steps:
- # Maven 缓存
- - name: restore-cache
- image: drillster/drone-volume-cache
- settings:
- restore: true
- mount:
- - /root/.m2/repository
- volumes:
- - name: repository
- path: /cache
- # 打包 prod
- - name: build-prod
- image: matderosa/maven-3.8-openjdk-17-gcc8.5
- volumes:
- - name: maven-cache
- path: /root/.m2
- - name: maven-build
- path: /app/build
- commands:
- - mvn clean package -P prod
- - mkdir -p /app/build/target
- - cp target/test.jar /app/build/target/test.jar
- - cp Dockerfile /app/build/Dockerfile
- - cp docker-compose.yml /app/build/docker-compose.yml
- when:
- branch:
- master
- # 打包 dev
- - name: build-dev
- image: matderosa/maven-3.8-openjdk-17-gcc8.5
- volumes:
- - name: maven-cache
- path: /root/.m2
- - name: maven-build-dev
- path: /app/build
- commands:
- - mvn clean package -P dev
- - mkdir -p /app/build/target
- - cp target/test-dev.jar /app/build/target/test-dev.jar
- - cp Dockerfile /app/build/Dockerfile
- - cp docker-compose.yml /app/build/docker-compose.yml
- when:
- branch:
- develop
- # 传输 prod
- - name: scp-master
- image: appleboy/drone-scp
- settings:
- port: 22
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- command_timeout: 5m
- source:
- - target/test.jar
- target: /home/TestApp/
- when:
- branch: master
- path:
- - "!db/**"
- - "!README.md"
- # 部署 prod
- - name: deploy-ssh-prod
- image: appleboy/drone-ssh
- settings:
- port: 22
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- command_timeout: 1m
- script:
- - cd /home/TestApp
- - sudo docker build -t test .
- - sudo docker-compose down
- - sudo docker-compose up -d
- - sudo echo "Docker App started."
- when:
- branch: master
- # 传输 dev
- - name: scp-develop
- image: appleboy/drone-scp
- settings:
- port: 22
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- command_timeout: 5m
- source:
- - target/test-dev.jar
- target: /home/TestAppDev/
- when:
- branch: develop
- # 部署 dev
- - name: deploy-ssh-dev
- image: appleboy/drone-ssh
- settings:
- port: 22
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- command_timeout: 1m
- script:
- - cd /home/TestAppDev
- - sudo docker build -t test-dev .
- - sudo docker-compose down
- - sudo docker-compose up -d
- - sudo echo "Docker App started."
- when:
- branch: develop
- # 清理镜像
- - name: cleanup
- image: docker:dind
- volumes:
- - name: docker-sock
- path: /var/run/docker.sock
- when:
- status: [ success ]
- commands:
- - docker image prune -f --filter "dangling=true" --filter "until=1h"
- volumes:
- - name: maven-build
- host:
- path: /home/TestApp
- - name: maven-build-dev
- host:
- path: /home/TestAppDev
- - name: maven-cache
- host:
- path: /root/docker/maven/cache
- - name: docker-sock
- host:
- path: /var/run/docker.sock
|