前言
gitlab 11.1内置了CI/CD,这个特性从gitlab 8+就开始有了,不过配置比较琐碎
经过几个大版本的迭代,现在已经简化了使用方式,也修复了一些坑,这个特性大大吸引了我;
gitlab拥有的特性很齐全,包括了第三方登录,二步验证,SSH,GPG签名等等
所以对于好东西不拿来用太对不起自己,于是开始了漫漫的爬坑之路;
由于东西是部署在公司内的,所以就不开放访问了,但是可以参考下我的大体配置;
至于为什么采用docker来部署,好迁移,升级也方便(因为数据和配置文件是独立的)
前置基础
基础环境
Debian Linux 9Docker 18.06,gitlab镜像用的gitlab官方提供的gitlab-ce,好处如下- 官方的,用的放心,更新频率高(能与时俱进) - 这个教程用的是当前最新的11.1
- 一键安装(因为类似
postgresql,ruby,nginx)这类的基础的环境都包括进去了 - 只暴露主配置文件/数据库存放位置/还有日志,
- 升级不用考虑数据的问题;对于业务不是很复杂的公司.能快速部署…
倘若想至于从0到1的构建(这种可以更细致针对业务进行配置),但要考虑的东西比较多;
有专业的运维和公司不缺钱的大佬可以折腾
必备知识
Linux/Docker && Docker Compose / Nginx
效果图
构建启动
这块的知识并不是gitlab,还是docker的
- 官方教程的基本启动姿势:
detack: 容器在后台运行并输出容器IDpublish: 就是暴露端口,简写-pname: 容器名restart: 什么时机会触发容器重启,所有情况volume: 映射卷的,基本用来持久化数据的
# 官方基本姿势,docker直接启动
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
三个volume就是暴露的位置
| 本地位置 | 容器位置 | 作用 |
|---|---|---|
| /srv/gitlab/data | /var/opt/gitlab | gitlab的数据存放,包括nginx,postgresql这些 |
| /srv/gitlab/logs | /var/log/gitlab | 日志存放 |
| /srv/gitlab/config | /etc/gitlab | gitlab的主配置文件 |
传参启动
hostname:访问的域名env: 这里面就是临时提权生效的- 这个就是可以给
gitlab传入部分参数,让其构建过程读取你设置的值(gitlab.rb)并且生效 - 官方说这个并不会写入
gitlab.rb(就是gitlab的配置文件),只是临时生效(容器生存期间)
- 这个就是可以给
sudo docker run --detach \
--hostname gitlab.example.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
docker-compose启动
我偏向于这种,所以写个构建规则,如下
第一版
version: '3.6'
services:
gitlab:

本文详细记录了使用Docker Compose搭建Gitlab的过程,包括配置HTTPS、邮箱验证以及解决超时问题。通过 Docker 和 Docker Compose,实现Gitlab的快速部署和升级。同时,文章汇总了常见错误及其解决方案。
最低0.47元/天 解锁文章
1682

被折叠的 条评论
为什么被折叠?



