在 CentOS 部署 GitLab

Author Avatar
EpLiar 1月 07, 2021
license Anti%20996 blueLast Updated: 21-01-07

最近应公司的要求给一台无公网的 CentOS 7 服务器部署了 GitLab 社区版,以下为全程只有私有网络的部署方法。如果你在部署的时候有公网,可以跳过安装依赖的部分。

好!又水了一篇文章!

下载镜像

其中清华大学最近非教育网速度较慢。

CentOS 7 对应镜像中的 el7,CentOS 8 则对应 el8。

下载完成后可以用 scp 拷贝过去,也可以在宿主机开一个 http 服务器从虚拟机进行下载。

安装依赖

以下为 GitLab rpm 安装的依赖,可以在 https://centos.pkgs.org 下载到 .rpm 的二进制包,发送到虚拟机安装即可。

$ sudo rpm -i THE_PACKAGE_NAME.rpm

CentOS 7

  • openssh-server

    • openssh

  • policycoreutils-python

    • checkpolicy

    • audit-libs-python

    • libcgroup

    • libsemanage-python

    • python-IPy

    • setools-libs

CentOS 8

咕咕咕

部署

$ sudo rpm -i YOUR_RPM_NAME.rpm

这一步会检查依赖,并从安装包里安装一系列 GitLab 所需要的依赖 (如 redis, MySQL, Nginx 等)。

这些依赖是 GitLab 独享的!这意味着即使你部署结束后也无法在外部使用这些依赖 (command not found)

没有报错部署结束之后,需要修改默认配置

$ sudo vim /etc/gitlab/gitlab.rb

external_url 的默认值修改成 http://IP:Port 的形式,如 http://127.0.0.1:80external_url 也可以是域名,如 http://gitlab.epliar.com,如果没有显式说明端口号,默认 80。

修改结束后,需要进行一次 reconfigure,这一步大概需要五分钟左右,以机器配置为准。

$ sudo gitlab-ctl reconfigure

接着启动 GitLab

$ sudo gitlab-ctl start

配置 GitLab

重置 root 账户密码

在浏览器访问上一步配置的地址。第一次访问会要求你重置 root 账户的密码,重置结束后以 root 和重置后的密码登录。

root
login

创建用户

登录完成后会出现三个按钮,分别是 New user,Configure 和 New group,首先创建用户。

new user

首先是三个必填项:

  • Name,也就是用户名

  • Username,GitLab 的登录名

  • Email,邮箱地址

在 GitLab 没有配置邮箱之前,新建用户是无法设置密码的 (因为给新用户的邮件发不出去),可以在完成之后手动设置。

下一步是权限相关:

  • Projects limit,指用户最多能有几个仓库

  • Can create group,是否允许创建群组

  • Access level,普通用户还是管理员

  • External,暂时保持默认

完成之后点击 Create user。

修改用户密码

创建完成之后会自动跳转到用户的详情页,页面的右边会有一个 edit,点击以修改用户密码。

edit

修改完成后,就可以注销并登录新用户了。

新用户第一次登录会被要求修改密码,按照个人喜好进行。

修改用户语言偏好

点击页面右上角的头像 → Settings

settings

在页面中找到 Preferred language 修改成简体中文并在页面下方点击 Update profile settings 即可。

我在写这部分的时候被提示 This feature is experimental and translations are not complete yet. 看起来是还没完成

CC BY 4.0
本文链接:https://epliar.com/articles/deploy-gitlab-on-centos/