ci: 添加 Woodpecker CI/CD 流水线

- 安装依赖、构建前端
- 构建 Docker 镜像并部署
- 环境变量和网络管理
This commit is contained in:
becomer
2026-06-30 23:51:04 +08:00
parent 18fcae8030
commit 75c861629f
2 changed files with 67 additions and 0 deletions
+52
View File
@@ -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]
+15
View File
@@ -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