基础环境

服务器:
test12:192.168.37.12
系统版本:CentOS Linux release 7.6.1810 (Core)

安装

1、确保HTTP及SSH在防火墙中打开

yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http
systemctl reload firewalld

2、安装邮件服务器

yum install postfix
systemctl enable postfix
systemctl start postfix

3、添加gitlab仓库,并安装

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce -y

4、配置gitlab

vim /etc/gitlab/gitlab.rb
1)修改外部访问url,一般设置为域名,这里测试环境设置为ip+端口
external_url 'http://192.168.139.55:8888'
2)gitlab邮件设置
 gitlab_rails['smtp_enable'] = true
 gitlab_rails['smtp_address'] = "smtp.uboxol.com"
 gitlab_rails['smtp_port'] = 25
 gitlab_rails['smtp_user_name'] = "italarm@uboxol.com"
 gitlab_rails['smtp_password'] = " "
 gitlab_rails['smtp_domain'] = "uboxol.com"
 gitlab_rails['smtp_authentication'] = "login"
 gitlab_rails['smtp_enable_starttls_auto'] = true
 gitlab_rails['smtp_tls'] = true
3)gitlat开启ldap
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
   main: # 'main' is the GitLab 'provider ID' of this LDAP server
     label: 'LDAP'
     host: '192.168.23.12'
     port: 389
     uid: 'sAMAccountName'
     method: 'plain' # "tls" or "ssl" or "plain"
     bind_dn: 'cn=ldapread,ou=Ubox,dc=ubox,dc=ad'
     password: ' '
     active_directory: true
     allow_username_or_email_login: false
     base: 'ou=Ubox,dc=ubox,dc=ad'
     user_filter: ''
4)如果ssh端口有修改过的,需要修改:
gitlab_rails['gitlab_shell_ssh_port'] = 8855
5)设置gitlab只保存最近7天的备份,去掉注释
gitlab_rails['backup_keep_time'] = 604800
6)使配置生效并重新启动gitlab
gitlab-ctl reconfigure
gitlab-ctl restart

5、登录地址为http://192.168.139.55:8888; 设置root用户密码为:Admin123123
6、如果gitlab是公司内部使用的,用root用户进入到gitlab后,关掉邮箱注册功能,如下:
Admin area—–>Settings—Sing-up restrictions—-去掉Sign-up enabled复选框选项

gitlab备份与恢复
备份

可以将此命令写入crontab,以实现定时备份
/usr/bin/gitlab-rake gitlab:backup:create
备份的数据会存储在/var/opt/gitlab/backups,用户通过自定义参数 gitlab_rails[‘backup_path’],改变默认值

恢复

停止unicorn和sidekiq,保证数据库没有新的连接,不会有写数据情况
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
进入备份目录进行恢复,1476900742为备份文件的时间戳
可以用stat [文件] 查看文件创建的时间截
cd /var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1476900742
cd -
启动unicorn和sidekiq
gitlab-ctl start unicorn
gitlab-ctl start sidekiq

gitlab后端的常用命令
gitlab-ctl start                                        # 启动所有 gitlab 组件;
gitlab-ctl stop                                         # 停止所有 gitlab 组件;
gitlab-ctl restart                                      # 重启所有 gitlab 组件;
gitlab-ctl status                                       # 查看服务状态;
vim /etc/gitlab/gitlab.rb                               # 修改gitlab配置文件;
gitlab-ctl reconfigure                                  # 重新编译gitlab的配置;
gitlab-rake gitlab:ldap:check                           # 检查ldap配置
gitlab-rake gitlab:check SANITIZE=true --trace          # 检查gitlab;
gitlab-ctl tail                                         # 查看日志;
gitlab-ctl tail nginx/gitlab_access.log
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION   # 查看gitlab版本
日志地址:/var/log/gitlab/                               # 对应各服务的打印日志 
服务地址:/var/opt/gitlab/                               # 对应各服务的主目录 
升级
文档更新时间: 2019-06-17 17:05   作者:子木