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://<Server-IP-Address-or-Hostname>
- User Name: root
- Password : <<Get Password from /etc/gitlab/initial_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
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 - gitee仓库)
- course-tencent-cloud(酷瓜云课堂 - github仓库)