ci: 添加 Woodpecker CI/CD 流水线
- 构建 Docker 镜像并推送 - 自动部署到本地 Docker - 配置文件和网络管理
This commit is contained in:
@@ -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]
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user