kind: pipeline type: docker name: default trigger: branch: - master steps: # 1. 构建 jar - name: build image: maven:3.8.4 volumes: - name: maven-cache path: /root/.m2 commands: - mvn clean package -P prod # 生成的包默认在 target/test.jar # 2. 传输 jar 到服务器 - name: scp image: appleboy/drone-scp:1.8.0 settings: port: 22 host: from_secret: ssh_host username: from_secret: ssh_user password: from_secret: ssh_pwd source: - target/test.jar # ✅ 注意是相对路径 target: /home/app/ # 服务器上的目录(要先 mkdir -p /home/app) # 3. 部署启动 - name: deploy image: appleboy/drone-ssh:1.8.0 settings: port: 22 host: from_secret: ssh_host username: from_secret: ssh_user password: from_secret: ssh_pwd command_timeout: 10m script: - cd /home/app - pkill -f "test.jar" || true # 停掉旧进程 - nohup java -jar test.jar > app.log 2>&1 & volumes: - name: maven-cache host: path: /root/docker/maven/cache