CentOS 7安装部署GitLab
CentOS 7下 完成 GitLab 的安装

前言

好久没有更新过博客了,最近的工作确实比较忙(可以说忙的要死),前几个月也在搞黑马的在线教育,基本上已经差不多完成了,在线教育项目的文章也完成了大半,今天刚好有时间做个gitlab安装记录。

最近公司换了新的代码服务器,之前服务器是在亚马逊上,价格相对贵点,为了节约成本这次换到了国内的云服务器;公司把Git私服也换了,之前用的gitblit,此次更新到了gitlab-ce(社区版);特此记录下安装、部署的过程。

相对来说gitlab的功能以及界面等,都要比gitblit好一些;但是就安装来说,gitlab的安装比gitblit的安装要复杂很多。

GitLab介绍

GitLab是由GitLab Inc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wikiissue跟踪功能。 GitLab 由乌克兰程序员Dmitriy ZaporozhetsValery Sizov 开发,它由Ruby 写成。后来,一些部分用Go 语言重写。

主要功能

  • 仓库管理
  • 公仓和私仓 (权限分配)
  • 团队和群组管理
  • CI/CD工具
  • GitLab工作流
  • ……

安装环境介绍

服务器

操作系统 内存 硬盘 IP
CentOS 7 4G 20G 192.168.136.201

该服务器为我本地虚拟机,需要保证服务器能够正常连接外网。

安装

安装依赖(必要工作)

安装必要的依赖,无论OmnibusDocker安装都需要。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 依赖安装
sudo yum install -y curl policycoreutils-python openssh-server

# 启动ssh服务
sudo systemctl enable sshd
sudo systemctl start sshd

# 设置防火墙策略允许 http以及https
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

# 安装postfix并运行(gatlab默认邮件服务使用postfix)
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

Omnibus安装(yum)

获取安装包

1
2
# 获取社区版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

安装gitlab

1
2
3
# 实际路径以你的服务器IP为准,也可以直接使用域名
# 安装过程可能会有点缓慢
sudo EXTERNAL_URL="http://192.168.136.201" yum install -y gitlab-ce

如果此步不能下载的可以使用Plan B

Plan B(推荐)

使用清华大学的镜像源

使用vi或者vim命令新建文件:/etc/yum.repos.d/gitlab_gitlab-ce.repo

若该文件已存在,将内容全部替换为下方内容:

1
2
3
4
5
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

执行安装命令

1
sudo EXTERNAL_URL="http://192.168.136.201" yum install -y gitlab-ce

此时下载速度应该就会快很多,但是安装仍需要一些时间,请耐心等待。

看到这个狐狸标志说明安装成功了。

启动GitLab

1
sudo gitlab-ctl reconfigure

访问测试

访问:http://192.168.136.201/

到此使用Omnibus安装完成。

Docker安装

Docker的安装、运行,就不在这里列出了,不会的兄弟可以百度一下哦,比较简单。

拉取镜像

1
2
# 拉取镜像(可能需要一些时间,耐心等待)
docker pull gitlab/gitlab-ce:latest

如果速度实在太慢,可以给Docker挂阿里云的镜像加速器,具体操作,可以百度一下。

镜像还是蛮大的,建议挂镜像加速器。

运行容器

1
2
3
4
5
6
7
8
9
10
11
12
# 先创建目录用于挂载容器数据
mkdir -p /root/gitlat/
# 运行容器
sudo docker run --detach \
--hostname 192.168.136.201 \
--publish 443:443 --publish 80:80 --publish 22222:22 \
--name gitlab-ce \
--restart always \
--volume /root/gitlat/config:/etc/gitlab \
--volume /root/gitlat/logs:/var/log/gitlab \
--volume /root/gitlat/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

查看启动日志:docker logs gitlab-ce

排错

  • cannot create regular file ‘/etc/gitlab/gitlab.rb’: Permission denied

    1
    2
    3
    4
    5
    6
    7
    8
    # 修改selinux配置
    vim /etc/selinux/config
    # 将SELINUX=enforcing改为SELINUX=disabled,修改后需要重启
    reboot
    # 重启成功后查看selinux状态
    sestatus
    # 执行命令得到一下结果
    # SELinux status: disabled

    重启容器。

  • 各种端口占用问题

    建议使用全新的机器安装部署gitlab,否则就更换映射端口吧。

访问测试

访问:http://192.168.136.201/

测试创建了账号和项目,没有问题。

文章作者: imxushuai
文章链接: https://www.imxushuai.com/2019/12/10/18.CentOS-7安装部署GitLab/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 imxushuai
支付宝打赏
微信打赏