demo/.woodpecker.yaml

56 lines
2.2 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:
# 1. 从 Secret 动态读取你的阿里云 ACR 凭证
- ALIYUN_REGISTRY=registry.cn-zhangjiakou.aliyuncs.com
- ALIYUN_USER:
from_secret: aliyun_acr_username
- ALIYUN_PASS:
from_secret: aliyun_acr_password
- DOCKER_HOST=tcp://136_ssh_host:2375
commands:
# 👉 核心操作 1命令远程服务器登录阿里云彻底解决之前 pull access denied 报错
- echo "$ALIYUN_PASS" | docker login --username "$ALIYUN_USER" --password-stdin $ALIYUN_REGISTRY
# 👉 核心操作 2利用项目根目录下的 docker-compose.yaml让远程服务器拉取最新镜像
- docker compose pull
# 👉 核心操作 3一键启动/更新Compose 会自动帮你停止旧容器、删掉旧容器、并用新镜像拉起新容器
- docker compose up -d
when:
event: push
branch: master