
准备 GitLab 服务
旧文章使用 Ubuntu 22.04。先安装 Docker,然后用独立目录挂载配置、日志和数据,避免容器升级后内容丢失。
curl -fsSL https://get.docker.com | bash
docker run -d --name gitlab --restart always \
-p 8443:443 -p 8090:80 -p 8022:22 \
-v /usr/local/gitlab/etc:/etc/gitlab \
-v /usr/local/gitlab/log:/var/log/gitlab \
-v /usr/local/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
配置访问地址
进入容器修改 gitlab.rb,把 external_url 与 SSH 端口设置成宿主机真正可访问的地址。配置完成后执行 gitlab-ctl reconfigure,再重启服务。
接入 Runner
Runner 与 GitLab 服务分开运行更容易升级。注册时需要 GitLab URL、令牌、执行器和标签。流水线任务用标签选择 Runner,避免构建任务跑到不具备 Docker 环境的机器上。
stages: [install, build, deploy]
cache:
paths: [.pnpm-store]
build:
stage: build
script:
- corepack enable
- pnpm install --frozen-lockfile
- pnpm build
deploy:
stage: deploy
only: [main]
script:
- ./scripts/deploy.sh
上线前检查
生产密钥放到 CI Variables,不要提交到仓库;部署账号只开放目标目录权限;构建产物要保留版本;发布失败时应能回滚到上一版。这些比“流水线能跑通”更重要。