使用 omnibus 方式安装 gitlab 官方的 gitlab 服务,存在病毒,导致 CPU 跑满,改用 docker 方式安装。
参考文档
安装 docker: Install Docker Engine on Ubuntu
安装 gitlab-jh: 极狐GitLab Docker 镜像
安装过程
1. 使用 Docker Engine 安装极狐GitLab:
export GITLAB_HOME=/srv/gitlab
docker run --detach \
--hostname mygitlab.app \
--publish 443:443 --publish 80:80 --publish 24:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
registry.gitlab.cn/omnibus/gitlab-jh:latest
以上代码执行,初始化 gitlab-jh,耗时较长。
2. 安装 gitlab-runner: Run GitLab Runner in a container
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock
gitlab/gitlab-runner:latest -m
3. 注册 docker runner,执行过程中会有交互式问答,记录如下:
docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register
http://mygitlab.app/
Runner token:xxxxxxxxxxxx_xxx
alpine:lastest
alpine:lastest
docker
alpine:lastest
Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"
4. 修改 docker runner 的配置,添加卷:Advanced configuration
nano /srv/gitlab-runner/config/config.toml
volumes = ["/home/www/mygitlab.app:/build/mygitlab.app:rw"]
其他记录
重启服务,查看日志相关命令:
docker restart gitlab-runner
docker logs gitlab-runner -f
进入 Docker 容器执行命令:
docker exec -it xxxxxxxxxxx sh
其他参考文档
极狐GitLab CI/CD如何在docker in docker 模式下将流水线的产物存储到宿主机上?
dd if=/dev/zero of=/swapfile count=8096 bs=1M
https://blog.csdn.net/qq_43557686/article/details/126028541
https://blog.csdn.net/huyongfu2004/article/details/122710325