目录
服务器配置
极狐GitLab 安装
安装和配置必须的依赖项
下载极狐GitLab 安装包
安装极狐GitLab 安装包
初始登陆
SSL 配置
生成 ssl 证书
配置 nginx
极狐GitLab 的安装方式灵活多样,支持 Omnibus、Docker、Helm 安装,而且安装过程也是非常方便的,堪比“一键式”安装。极狐GitLab 安装使用教程将会对于极狐GitLab(包括 Runner)的多种安装以及使用方式进行全方位的实操演示。
本文将演示使用 Omnibus
来在 Ubuntu
上安装和配置极狐GitLab 的过程。首先需要一个服务器用来安装极狐GitLab。
本文所采用的服务器配置如下,建议内存最少在 4GB 以上。OS 版本可以是 Ubuntu
、Debian
以及 CentOS
,本文先用 Ubuntu
,其他系统的会在后续文章演示。
OS | Vresion | CPU | RAM |
Ubuntu | 20.04 | 4 Core | 8GB |
极狐GitLab 有针对不同系统的安装包,详细情况可以查看官网安装章节。本文以 Ubuntu 20.04
来演示极狐GitLab 的安装。
执行如下命令完成依赖项的安装和配置:
$ apt-get update
$ apt-get install -y curl openssh-server ca-certificates tzdata perl
找到自己想要安装的版本,直接下载安装包,比如要下载针对 Ubuntu 20.04
的安装包,执行如下命令即可完成下载:
$ wget https://omnibus.gitlab.cn/ubuntu/focal/gitlab-jh_14.5.0-jh.0_amd64.deb
执行如下命令即可完成极狐GitLab 的一键式安装,如果是初次安装,建议将极狐GitLab 实例的域名以环境变量的形式注入(比如export EXTERNAL_URL=jh-xiaomage.gitlab.cn
),接着执行如下命令开始安装:
$ dpkg -i gitlab-jh_14.4.2-jh.0_amd64.deb
整个安装需要持续几分钟,输出的 log 也较多,如果看到如下的内容则认为安装成功:
可以看到,上述极狐GitLab 实例的登陆地址为:http://jh-xiaomage.gitlab.cn
。
安装完毕,可以看一下极狐GitLab 所有组件的状态,查看命令为 gitlab-ctl status
:
$ gitlab-ctl status
run: alertmanager: (pid 17872) 60788s; run: log: (pid 16397) 60972s
run: gitaly: (pid 14823) 61215s; run: log: (pid 14211) 61281s
run: gitlab-exporter: (pid 17883) 60788s; run: log: (pid 16121) 60992s
run: gitlab-workhorse: (pid 17885) 60788s; run: log: (pid 15988) 61006s
run: grafana: (pid 104958) 39483s; run: log: (pid 16634) 60930s
run: logrotate: (pid 253622) 3186s; run: log: (pid 14095) 61292s
run: nginx: (pid 104950) 39483s; run: log: (pid 16034) 61002s
run: node-exporter: (pid 17919) 60786s; run: log: (pid 16084) 60998s
run: postgres-exporter: (pid 17925) 60785s; run: log: (pid 16442) 60966s
run: postgresql: (pid 14450) 61276s; run: log: (pid 14480) 61275s
run: prometheus: (pid 17938) 60785s; run: log: (pid 16278) 60980s
run: puma: (pid 104894) 39494s; run: log: (pid 15914) 61016s
run: redis: (pid 14149) 61288s; run: log: (pid 14162) 61287s
run: redis-exporter: (pid 17955) 60784s; run: log: (pid 16179) 60984s
run: sidekiq: (pid 104859) 39501s; run: log: (pid 15940) 61012s
可以看到相关组件的状态以及进程信息
可以用初始用户名和密码来进行登陆。初始用户名为 root
,密码被存在了 /etc/gitlab/initial_root_password
文件中,直接获取即可。然后在浏览器中输入 http://jh-xiaomage.gitlab.cn
,接着输入用户名和密码即可。
极狐GitLab初始登陆
登陆之后,可以进行初始密码修改,因为 /etc/gitlab/initial_root_password
文件会在 reconfigure 之后的 24h 被删除。因此,初始登陆成功之后,建议修改密码,方法如下面的视频所示:
如何更改极狐GitLab初始密码
上述安装完毕,登陆是用的 http
,这是一种不安全的登陆方式,最好配置为 https
登陆,也就是需要配置 SSL。极狐GitLab 配置 SSL 有好几种方式,最简便的就是通过 nginx
来配置,因为极狐GitLab 安装的时候,安装了 nginx
,只需要简单配置即可。
在 /etc/gitlab/
目录下新建一个 ssl
文件夹,然后执行如下命令生成 ssl 证书
$ openssl genrsa -out ca.key 2048
$ openssl req -x509 -new -nodes -key ca.key -subj "/CN=jh-xiaomage.gitlab.cn" -days 10000 -out ca.crt
CN 配置为极狐GitLab 实例的域名名称,本文例子为
jh-xiaomage.gitlab.cn
。
在 /etc/gitlab/gitlab.rb
文件中进行 nginx
配置修改:
nginx['enable'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/ca.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/ca.key"
nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"
上述基本配置完毕,然后执行 gitlab-ctl reconfigure
命令,让配置生效即可,然后用 https://jh-xiaomage.gitlab.cn
进行登陆验证。
SSL 还有另外一种更加方便的方法,就是直接使用 letscrypt 功能,直接在配置文件中 enable letscrypt 即可,配置如下:
external_url 'https://jh-xiaomage.gitlab.cn'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']
接着在浏览器中可以用 https://jh-xiaomag.gitlab.cn 来使用极狐GitLab 实例。
至此,极狐GitLab 的安装和 SSL
配置就完成了,接下来就可以正常使用了。