Gitlab配置优化

一、修改GitLab绑定的域名并启用Https

1、修改/etc/gitlab/gitlab.rb配置文件,修改成自己的域名

external_url 'https://gitlab.example.com'

2、启用Https

nginx['enable'] = true

nginx['redirect_http_to_https'] = true

nginx['redirect_http_to_https_port'] = 80

nginx['ssl_certificate'] = "/etc/gitlab/ssl/example.crt"

nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/example.key"

3、使配置生效并重启服务

gitlab-ctl reconfigure
gitlab-ctl restart

二、修改GitLab仓库存储位置

GitLab仓库默认位子:/var/opt/gitlab/git-data

1、新创建/data/gitlab/gitlab-data目录,作为仓库存储目录

mkdir /data/gitlab/gitlab-data

2、修改gitlab配置文件,找到git_data_dir

vim /etc/gitlab/gitlab.rb
git_data_dirs({                                                                                                                        
    "default" => {                                                                                                                       
        "path" => "/data/gitlab/gitlab-data"                                                                                          
    }                                                                                                                                    
})

然后执行命令使配置生效并重启服务。

三、配置邮箱服务SMTP服务器

参考官网:https://docs.gitlab.com/omnibus/settings/smtp.html

vim /etc/gitlab/gitlab.rb

示例 QQ exmail (腾讯企业邮箱)

gitlab_rails['smtp_enable'] = true 

gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" 

gitlab_rails['smtp_port'] = 465 

gitlab_rails['smtp_user_name'] = "xxxx@xx.com" 

gitlab_rails['smtp_password'] = "password" 

gitlab_rails['smtp_authentication'] = "login" 

gitlab_rails['smtp_enable_starttls_auto'] = true 

gitlab_rails['smtp_tls'] = true 

gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com' 

gitlab_rails['smtp_domain'] = "exmail.qq.com"

然后执行命令使配置生效并重启服务。

四、修改GitLab服务器时区

用下面的vim命令打开 /etc/gitlab/gitlab.rb文件 ,现在默认的时区如下图所示为 UTC

vim /etc/gitlab/gitlab.rb

因此我们需要修改 gitlab_rails[‘time_zone’] 的值为 中国的东八区时间。

将代码

# gitlab_rails['time_zone'] = 'UTC'

修改为

gitlab_rails['time_zone'] = 'Asia/Shanghai'

然后执行命令使配置生效并重启服务。

五、禁用创建组权限

GitLab默认所有的注册用户都可以创建组。但对于团队来说,通常只会给Leader相关权限。

虽然可以在用户管理界面取消权限,但毕竟不方便。我们可以通过配置GitLab默认禁用创建组权限。

修改配置文件

vi /etc/gitlab/gitlab.rb

开启gitlab_rails[‘gitlab_default_can_create_group’] 选项,并将值设置为false

gitlab_rails['gitlab_default_can_create_group'] = false

然后执行命令使配置生效并重启服务。