Gitlab常用命令及配置
1、gitlab目录结构
默认安装的gitlab,主要有四个目录:
/opt/gitlab/ ## 主目录
/etc/gitlab/ ## 放置配置文件
/var/opt/gitlab/ ## 各个组件
/var/log/gitlab/ ## 放置日志文件
2、检查gitlab各组件状态
gitlab-ctl status
3、重启gitlab
gitlab-ctl restart
4、重启每个组件
gitlab-ctl restart 组件名称
gitlab各组件如下:
nginx
postgresql
redis
unicorn
sidekiq
logrotate
5、gitlab关闭外部注册入口
Settings—Sign-up restrictions—Sign-up enabled取消此项勾选,即关闭开放注册入口。
6、修改git仓库的存储路径
1)、默认情况下omnibus-gitlab 将仓库数据存储在 /var/opt/gitlab/git-data目录下,仓库存放在子目录 repositories里面。 以可以通过修改/etc/gitlab/gitlab.rb 的这一行来自定义 git-data 的父目录。
#把注释取消然后指定新的仓库存储位置
git_data_dirs({ "default" => { "path" => "/data/gitlab-data" } })
注: /data/gitlab-data 是我新挂载的目录,目标路径和其子路径必须不能为软链接。
# gitlab-ctl stop
# gitlab-ctl reconfigure //重启使修改生效
2)、设置存储仓库数据的备用目录:
注意:自GitLab 8.10开始,可以通过在/etc/gitlab/gitlab.rb文件中添加下面的几行配置, 来增加多个 git 数据存储目录。
git_data_dirs({
“default” => { “path” => “/var/opt/gitlab/git-data” }, //默认存储目录
“alternative” => { “path” => " /data/gitlab-data" } //备用存储目录
})
7、调整时区设置
#vi /etc/gitlab/gitlab.rb
取消下面一行的注释,然后将时区改为Asia/Shanghai 。
修改前:
#gitlab_rails['time_zone'] = 'UTC'
修改后:
gitlab_rails['time_zone'] = 'Asia/Shanghai'
8、开启Rack Attack功能
GitLab支持Rack Attack功能,即防止同一个IP地址发起多次失败的授权请求,比如暴力破解密码,对需要暴露在公网上的GitLab需要开启该功能。参考网址:https://docs.gitlab.com/ee/security/rack_attack.html
#vi /etc/gitlab/gitlab.rb //添加以下内容
gitlab_rails['rack_attack_git_basic_auth'] = {
'enabled' => true,
'ip_whitelist' => ["127.0.0.1"],
'maxretry' => 10, # Limit the number of Git HTTP authentication attempts per IP
'findtime' => 60, # Reset the auth attempt counter per IP after 60 seconds
'bantime' => 3600 # Ban an IP for one hour (3600s) after too many auth attempts
}