demo/.woodpecker.yaml

50 lines
1.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# .woodpecker.yaml
steps:
- name: Java 构建
image: docker.m.daocloud.io/library/maven:3.9.6-eclipse-temurin-17
pull: true
commands:
- mvn clean package -DskipTests
# 注意:使用 volumes 必须在 Web UI 中开启 "Trusted" 权限
volumes:
- /tmp/maven-cache:/root/.m2
when:
event: [push, pull_request]
branch: master
- name: 镜像构建与推送
image: docker.m.daocloud.io/woodpeckerci/plugin-docker-buildx:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
settings:
repo: registry.cn-zhangjiakou.aliyuncs.com/abhors/demo
tags: latest
registry: registry.cn-zhangjiakou.aliyuncs.com
username:
from_secret: aliyun_acr_username
password:
from_secret: aliyun_acr_password
# 👇 核心:为其指定一个绝对能稳定拉取三方大类目的镜像加速源
# 这样当它去找 moby/buildkit 时会自动走大厂的代理通道100% 不会超时
mirror: https://docker.m.daocloud.io
# 很多时候 plugins/docker 内部默认会处理 context不需要你手动挂载 docker.sock
# 但需要确保服务器配置了 WOODPECKER_PLUGINS_PRIVILEGED=plugins/docker
when:
event: push
branch: master
- name: 远程 Docker Compose 部署
image: docker.m.daocloud.io/library/docker:cli
environment:
ALIYUN_REGISTRY: registry.cn-zhangjiakou.aliyuncs.com
ALIYUN_USER:
from_secret: aliyun_acr_username
ALIYUN_PASS:
from_secret: aliyun_acr_password
# 👇 1. 先把 Secret 里的远程服务器 IP 读取到一个临时变量里
REMOTE_HOST:
from_secret: 136_ssh_host
commands:
- export DOCKER_HOST="tcp://${REMOTE_HOST}:2375" && docker login --username "$ALIYUN_USER" --password "$ALIYUN_PASS" $ALIYUN_REGISTRY && docker compose pull && docker compose up -d
when:
event: [push, pull_request, manual]
branch: master