安装

YUM 安装

vim /etc/yum.repos.d/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
2
3
4
5
yum clean all
yum makecache
#安装依赖
yum -y install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix
yum -y install gitlab-ce

RPM 安装

访问 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 下载 rpm 文件进行安装

1
2
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.1.5-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-14.1.5-ce.0.el7.x86_64.rpm

使用官方提供的方法安装
1
2
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum -y install gitlab-ce

Docker 安装

配置

配置文件

  • /etc/gitlab/gitlab.rb
  • gitlab-ctl reconfigure

配置完成以后,网页访问设置 root 账户密码,登录,修改中文界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
vim /etc/gitlab/gitlab.rb
### 基础配置 ###
external_url 'https://gitlab.xxx.cn'
#用户访问所使用的URL,域名或者IP地址
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#时区

### SSH配置 ###
gitlab_rails['gitlab_shell_ssh_port'] = 10222
#使用SSH协议拉取代码所使用的连接端口。

### 邮箱配置 ###
gitlab_rails['smtp_enable'] = true
#启用SMTP邮箱功能,绑定一个第三方邮箱,用于邮件发送
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
#设置SMTP服务器地址
gitlab_rails['smtp_port'] = 465
#设置SMTP服务器端口
gitlab_rails['smtp_user_name'] = "xxx@xxx.cn"
#设置邮箱账号
gitlab_rails['smtp_password'] = "xxx"
#设置邮箱密码
gitlab_rails['smtp_authentication'] = "login"
#设置邮箱账号密码身份验证方式,"login"表示采用账号密码的方式登陆
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
#设置开启SMTP邮件使用TLS传输加密协议传输邮件,以保证邮件安全传输
gitlab_rails['gitlab_email_from'] = 'xxx@xxx.cn'
#设置Gitlab来源邮箱地址,设置登陆所使用的邮箱地址

### WEB配置 ###
nginx['enable'] = true
#启用Nginx服务
nginx['client_max_body_size'] = '250m'
#设置客户端最大文件上传大小
nginx['redirect_http_to_https'] = true
#设置开启自动将HTTP跳转到HTTPS
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.xxx.cn.pem"
#设置HTTPS所使用的证书
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.xxx.cn.key"
#设置HTTPS所使用的证书密码
nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2 TLSv1.3"
#设置HTTPS所使用的TLS协议版本
nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m"
#设置开启SSL会话缓存功能
nginx['ssl_session_timeout'] = "5m"
#设置SSL会话超时时间
nginx['listen_addresses'] = ['*', '[::]']
#设置Nginx监听地址,"*"表示监听主机上所有网卡的地址
nginx['gzip_enabled'] = true
#设置开启Nginx的传输压缩功能,以节约传输带宽,提高传输效率

当配置文件发生变化时,或者是第一次启动时,我们需要刷新配置。
1
2
3
4
5
systemctl restart gitlab-runsvdir
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status
gitlab-ctl tail

通过 cat /etc/gitlab/initial_root_password 查看初始密码(文件在 24 小时后删除);

首次登录修改 root 账户密码,设置中文,关闭用户注册

SSH 密钥

用的是公钥,结合私钥进行验证,用户设置 -> SSH 密钥

Webhook