| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- kind: pipeline
- type: docker
- name: default
- trigger:
- branch:
- - master
- - develop
- steps:
- # 构建 jar
- - name: maven-build
- image: maven:3.8-openjdk-17
- volumes:
- - name: maven-cache
- path: /root/.m2
- - name: build-output
- 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
- # 上传到服务器
- - name: scp-upload
- image: appleboy/drone-scp
- settings:
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- port: 22
- source:
- - /app/build/target/test.jar
- - /app/build/Dockerfile
- - /app/build/docker-compose.yml
- target: /home/app/
- # 部署容器
- - name: deploy
- image: appleboy/drone-ssh
- settings:
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- port: 22
- command_timeout: 5m
- script:
- - cd /home/app
- - sudo docker-compose down || true
- - sudo docker-compose build --no-cache
- - sudo docker-compose up -d
- - sudo docker image prune -f
- - echo "🚀 App 已部署完成"
- volumes:
- - name: maven-cache
- host:
- path: /root/docker/maven/cache
- - name: build-output
- host:
- path: /home/app
|