demo/.woodpecker.yaml

43 lines
1.5 KiB
YAML

# .woodpecker.yaml
workflows:
build-and-deploy:
name: Java应用构建与部署
# 触发条件,仅在 main/master 分支推送时运行
when:
- event: push
branch: main
- event: push
branch: master
steps:
# 1. 使用 Maven 构建 Java 应用,并缓存依赖
- name: Java 构建
image: maven:3.9.6-eclipse-temurin-17
pull: true
commands:
- mvn clean package -DskipTests # 跳过测试以加快构建
volumes:
- /tmp/maven-cache:/root/.m2 # 缓存 Maven 依赖
# 2. 将构建好的 JAR 文件打包为 Docker 镜像
- name: Docker 构建
image: docker:latest
pull: true
commands:
- docker build -t registry.cn-zhangjiakou.aliyuncs.com/abhors/demo:latest .
volumes:
- /var/run/docker.sock:/var/run/docker.sock # ⚠️ Docker in Docker 挂载
# 3. 将打包好的镜像推送到 Docker Hub
- name: 镜像推送
image: plugins/docker
settings:
# ⚠️ 关键配置:必须准确填写
repo: registry.cn-zhangjiakou.aliyuncs.com/abhors/demo
registry: registry.cn-zhangjiakou.aliyuncs.com
tags: latest
dockerfile: ./Dockerfile
username:
from_secret: docker_hub_user # 从 Woodpecker UI 获取的 Docker Hub 用户名
password:
from_secret: docker_hub_pass # 从 Woodpecker UI 获取的 Docker Hub 密码或 Token