From 10cb7d7ac6ead22952d2d0c9c1a2f610b62210d4 Mon Sep 17 00:00:00 2001 From: becomer Date: Tue, 30 Jun 2026 23:51:01 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=20Woodpecker=20CI/CD?= =?UTF-8?q?=20=E6=B5=81=E6=B0=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 构建 Docker 镜像并推送 - 自动部署到本地 Docker - 配置文件和网络管理 --- .woodpecker/build.yml | 39 +++++++++++++++++++++++++++++++++++++++ deploy/docker-compose.yml | 18 ++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 .woodpecker/build.yml create mode 100644 deploy/docker-compose.yml diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml new file mode 100644 index 0000000..b4739f2 --- /dev/null +++ b/.woodpecker/build.yml @@ -0,0 +1,39 @@ +when: + - event: push + branch: [main, master] + +steps: + build-image: + image: docker + commands: + - docker build -t likedream-go:latest . + - docker tag likedream-go:latest likedream-go:${CI_COMMIT_SHA:0:8} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + + deploy: + image: docker + commands: | + # 确保网络存在 + docker network create likedream-net 2>/dev/null || true + + # 停止并删除旧容器 + docker stop likedream-go 2>/dev/null || true + docker rm likedream-go 2>/dev/null || true + + # 启动新容器 + docker run -d \ + --name likedream-go \ + --restart unless-stopped \ + --network likedream-net \ + -p 8091:8091 \ + -v /opt/likedream-go/config.toml:/app/config.toml:ro \ + likedream-go:latest + + # 连接到 captcha 服务所在网络 + docker network connect ocr-go_default likedream-go 2>/dev/null || true + volumes: + - /var/run/docker.sock:/var/run/docker.sock + when: + event: [push, tag] + branch: [main, master] diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml new file mode 100644 index 0000000..f07a931 --- /dev/null +++ b/deploy/docker-compose.yml @@ -0,0 +1,18 @@ +services: + likedream-go: + image: likedream-go:latest + container_name: likedream-go + restart: unless-stopped + ports: + - "8091:8091" + volumes: + - /opt/likedream-go/config.toml:/app/config.toml:ro + networks: + - likedream-net + - ocr-go_default + +networks: + likedream-net: + external: true + ocr-go_default: + external: true