前言
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它是由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。
团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
GitLab能够非常好地实现对代码的管理和开发人员之间的团队协作。目前应用最为广泛地就是利用Jenkins实现持续集成和部署。
一、环境说明
环境:Centos7
笔者局域网IP地址:192.168.9.170
最低配置要求:2核心CPU和4G内存,这是因为GitLab的整体运行包含了多个进程
二、Docker 安装
三、Docker-Compose 安装
四、使用 docker-compose 安装 Gitlab
1、进入自定义工作目录
cd /opt/gitlab
这个目录,你可以自定义哈,主要是方便自己查找就行。
2、创建 docker-compose.yml 配置文件
vim docker-compose.yml
复制下面内容到配置文件中,其中192.168.9.170这个是我的本地IP地址,在实际部署的时候,必须依据个人的IP地址进行配置。另外还需开放一下端口(7080、7043、7022),方便后续服务访问。
version: '2.2'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
container_name: "gitlab"
restart: always
privileged: true
hostname: 192.168.9.170:7080
environment:
gitlab_omnibus_config: |
external_url 'http://192.168.9.170:7080'
gitlab_rails["time_zone"] = 'Asia/Shanghai'
gitlab_rails['gitlab_ssh_host'] = '192.168.9.170'
gitlab_rails['gitlab_shell_ssh_port'] = 7022
ports:
- '7080:7080'
- '7043:443'
- '7022:22'
volumes:
- './etc:/etc/gitlab'
- './log:/var/log/gitlab'
- './opt:/var/opt/gitlab'
3、在 docker-compose.yml 同级目录创建映射文件夹
mkdir etc log opt
4、拉取镜像并启动
# 执行以下命令来启动应用程序
docker-compose up
# 如果你想在后台执行该服务可以加上 -d 参数(建议使用这种)
docker-compose up -d
5、检查容器配置
首先先进入容器
# 进入bash操作
docker-compose exec gitlab bash
检查 gitlab.rb 文件配置信息
# 查看文件内容前10行
cat /etc/gitlab/gitlab.rb | head -n 10
确保配置里的IP地址与宿主主机IP地址(192.168.9.170)一致,避免gitlab服务不能访问问题。
检查 gitlab.yml 文件配置信息
# 查看文件内容前61行
cat /var/opt/gitlab/gitlab-rails/etc/gitlab.yml | head -n 61
确保配置里的IP地址与宿主主机IP地址(192.168.9.170)一致,避免gitlab服务不能访问问题。
在容器内进行服务重启
gitlab-ctl restart
五、Web访问Gitlab
安装成功后,访问地址:http://192.168.9.170:7080/users/sign_in