kind: pipeline type: docker name: test-pipeline clone: disable: true steps: # 克隆代码 - name: clone image: drone/git:1.2.1 # 构建 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 - ls -lh target # 查看生成的jar # 把 target 下的 *.jar 重命名为 test.jar - mv target/*.jar target/test.jar - 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:1.8.0 settings: host: from_secret: ssh_host username: from_secret: ssh_user password: from_secret: ssh_pwd port: 22 command_timeout: 5m source: - /app/build/output/* target: /home/app/ # 部署服务 - name: deploy image: appleboy/drone-ssh:1.6.4 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 - docker compose down || true - docker compose up -d --build - docker ps -a | grep test # 调试,确认容器是否启动 volumes: - name: maven-cache host: path: /home/mvn/.m2 - name: build-output temp: { } trigger: branch: - master