GitLab 是一个开源平台,提供了强大而功能丰富的解决方案,主要用于管理repositories,issues,CI/CD pipelines 等等。
本指南将引导您完成在 Ubuntu 22.04 或 20.04 上安装 GitLab 的过程。GItlab 有企业版(GItlab EE) 和社区版 (GItlab CE),在这篇文章中,我们将介绍社区版。
必备条件
- A virtual or dedicated server running Ubuntu 22.04 or 20.04 with SSH access.
- Static Hostname ( gitlab.linuxtechi.net)
- Sudo User with admin rights
- 2 GB RAM or more
- 2 vCPUs or more
- Internet Connectivity
(1) 更新系统包
将所有现有包升级到最新版本
$ sudo apt update
$ sudo apt upgrade -y
重启系统
$ sudo reboot.
(2) 安装依赖
GitLab 需要一些依赖项才能正常工作,使用以下命令安装它们
$ sudo apt install -y curl openssh-server ca-certificates postfix
在 postfix 邮件服务器安装过程中,将出现一个配置窗口。选择 Internet Site 并输入服务器的hostname 作为邮件服务器名称,这将允许 GitLab 发送电子邮件通知。
选择 Internet Site ,然后选择 OK
检查系统 hostname,然后选择 OK
(3) 添加 GitLab Apt Repository
运行以下 curl 命令,添加 GitLab 存储库。它会自动检测你的 Ubuntu 版本,并设置相应的存储库。
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
(4) 安装 Gitlab
运行下面的命令,把 EXTERNAL_URL 替换为你服务器的 hostname,将在你的 ubuntu 系统上自动安装和配置 gitlab-ce
$ sudo EXTERNAL_URL="http://gitlab.linuxtechi.net" apt install gitlab-ce
上面的命令成功执行后,输出如下所示
上面的输出证实了 GitLab 已成功安装。Gitlab Web 界面的用户名是 root,密码存储在 /etc/gitlab/prinity_root_password
注意: 如果您的 ubuntu 系统上启用了操作系统防火墙,那么允许 80 和 443 端口。
$ sudo ufw allow http
$ sudo ufw allow https
(5) 访问 GitLab Web 界面
安装并配置 GitLab 后,打开 web 浏览器并输入服务器的 IP 地址或 hostname
http://
- User Name: root
- Password : <
>
点击 Sign in 登录
到目前为止,我们的 GitLab 服务器正在使用 http (80) 协议,如果你想为你的 GitLab 启用 https,那么参考下面的步骤。
(6) 为 GitLab Web 设置 HTTPS
为了增加安全性,您可以使用自签名证书或 Let s Encrypt 为您的 GitLab 实例配置 HTTPS。我们只能对互联网上有 A 记录的公共领域使用 Let’s encrypt。但是在我们的案例中,我们使用的是私有域,所以我们将使用自签名证书来保护 GitLab。
创建以下文件夹,并使用 openssl 命令生成自签名证书
$ sudo mkdir -p /etc/gitlab/ssl
$ sudo chmod 755 /etc/gitlab/ssl
使用以下 openssl 命令生成私钥
$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key 2048
使用下面的命令创建 CSR
$ sudo openssl req -new -key /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.csr
从密钥中删除 Passphrase,依次执行以下命令
$ sudo cp -v /etc/gitlab/ssl/gitlab.linuxtechi.net.{key,original}
$ sudo openssl rsa -in /etc/gitlab/ssl/gitlab.linuxtechi.net.original -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.original
创建证书文件
$ sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlab.linuxtechi.net.csr -signkey /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.crt
删除 CSR 文件
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.csr
设置密钥和证书文件的权限
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.crt
编辑/etc/gitlab/gitlab.rb文件, 添加配置 external_url 如下
$ sudo vi /etc/gitlab/gitlab.rb
----------------------------------------------------------
external_url 'https://gitlab.linuxtechi.net'
----------------------------------------------------------
保存并退出该文件,使用如下命令重新配置 gitlab
$ sudo gitlab-ctl reconfigure
命令成功执行后,您的 gitlab 可以通过 HTTPS 协议访问。
当您第一次访问它时,它会提示您的连接不安全,请单击 Accept the Risk and Continue