|
|
@@ -1,14 +1,16 @@
|
|
|
kind: pipeline
|
|
|
type: docker
|
|
|
-name: default
|
|
|
+name: test-pipeline
|
|
|
|
|
|
-trigger:
|
|
|
- branch:
|
|
|
- - master
|
|
|
- - develop
|
|
|
+clone:
|
|
|
+ disable: true
|
|
|
|
|
|
steps:
|
|
|
- # 构建 jar
|
|
|
+ # 克隆代码
|
|
|
+ - name: clone
|
|
|
+ image: drone/git:1.2.1
|
|
|
+
|
|
|
+ # 构建 jar 包
|
|
|
- name: maven-build
|
|
|
image: maven:3.8-openjdk-17
|
|
|
volumes:
|
|
|
@@ -18,14 +20,16 @@ steps:
|
|
|
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
|
|
|
+ - mkdir -p /app/build/output
|
|
|
+ # 复制构建物到 output 目录
|
|
|
+ - cp target/test.jar /app/build/output/
|
|
|
+ - cp Dockerfile /app/build/output/
|
|
|
+ - cp docker-compose.yml /app/build/output/
|
|
|
+ - ls -lh /app/build/output # 调试,确保文件存在
|
|
|
|
|
|
# 上传到服务器
|
|
|
- name: scp-upload
|
|
|
- image: appleboy/drone-scp
|
|
|
+ image: appleboy/drone-scp:1.8.0
|
|
|
settings:
|
|
|
host:
|
|
|
from_secret: ssh_host
|
|
|
@@ -34,15 +38,14 @@ steps:
|
|
|
password:
|
|
|
from_secret: ssh_pwd
|
|
|
port: 22
|
|
|
+ command_timeout: 5m
|
|
|
source:
|
|
|
- - /app/build/target/test.jar
|
|
|
- - /app/build/Dockerfile
|
|
|
- - /app/build/docker-compose.yml
|
|
|
+ - /app/build/output/*
|
|
|
target: /home/app/
|
|
|
|
|
|
- # 部署容器
|
|
|
+ # 部署服务
|
|
|
- name: deploy
|
|
|
- image: appleboy/drone-ssh
|
|
|
+ image: appleboy/drone-ssh:1.6.4
|
|
|
settings:
|
|
|
host:
|
|
|
from_secret: ssh_host
|
|
|
@@ -54,16 +57,17 @@ steps:
|
|
|
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 已部署完成"
|
|
|
+ - docker compose down || true
|
|
|
+ - docker compose up -d --build
|
|
|
+ - docker ps -a | grep test # 调试,确认容器是否启动
|
|
|
|
|
|
volumes:
|
|
|
- name: maven-cache
|
|
|
host:
|
|
|
- path: /root/docker/maven/cache
|
|
|
+ path: /home/mvn/.m2
|
|
|
- name: build-output
|
|
|
- host:
|
|
|
- path: /home/app
|
|
|
+ temp: {}
|
|
|
+
|
|
|
+trigger:
|
|
|
+ branch:
|
|
|
+ - master
|