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