基础环境
服务器:
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/ # 对应各服务的主目录