From 75c861629f21fc812420fe55eddc95f4b8b686a1 Mon Sep 17 00:00:00 2001 From: becomer Date: Tue, 30 Jun 2026 23:51:04 +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 镜像并部署 - 环境变量和网络管理 --- .woodpecker/build.yml | 52 +++++++++++++++++++++++++++++++++++++++ deploy/docker-compose.yml | 15 +++++++++++ 2 files changed, 67 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..ec07cc7 --- /dev/null +++ b/.woodpecker/build.yml @@ -0,0 +1,52 @@ +when: + - event: push + branch: [main, master] + +steps: + install-deps: + image: node:22-alpine + commands: + - npm ci + + build-frontend: + image: node:22-alpine + commands: + - npm run build + depends_on: + - install-deps + + build-image: + image: docker + commands: + - docker build -t likedream-web:latest . + - docker tag likedream-web:latest likedream-web:${CI_COMMIT_SHA:0:8} + depends_on: + - build-frontend + 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-web 2>/dev/null || true + docker rm likedream-web 2>/dev/null || true + + # 启动新容器 + docker run -d \ + --name likedream-web \ + --restart unless-stopped \ + --network likedream-net \ + -p 3000:3000 \ + -e BACKEND_URL=http://likedream-go:8091 \ + likedream-web:latest + depends_on: + - build-image + 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..f227f59 --- /dev/null +++ b/deploy/docker-compose.yml @@ -0,0 +1,15 @@ +services: + likedream-web: + image: likedream-web:latest + container_name: likedream-web + restart: unless-stopped + ports: + - "3000:3000" + environment: + - BACKEND_URL=http://likedream-go:8091 + networks: + - likedream-net + +networks: + likedream-net: + external: true