when: - event: push branch: [main, master] - event: tag branch: [v*] 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_TAG:-${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 3080:3000 \ -e BACKEND_URL=http://likedream-go:8091 \ likedream-web:latest depends_on: - build-image volumes: - /var/run/docker.sock:/var/run/docker.sock