gitlab安装/配置/维护
安装配置
环境与环境
系统 centos-7 版本8.9.5 ,当前主流版本,最新版变化较大
安装
ruby 安装(gitlab 是ruby 开发的所以依赖于ruby环境)
版本
[root@k8s-master ~]# ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]
gilab 安装
安装依赖 sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewall rpm -ivh gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm (视频目录有安装包)
配置
vi /etc/gitlab/gitlab.rb external_url 'http://192.168.231.101' (默认地址是主机名) gitlab-ctl reconfigure #发起了一个自动化配置的过程
访问
http://192.168.231.101
重置密码,root 登录
gitlab 组成
gitlab 是由一系列的组件组成的,安装的时候就一键安装了
常用命令
gitlab-ctl 查看所有命令 gitlab-ctl status 查看各个服务进程状态 gitlab-ctl tail nginx 查看nginx 日志 cd /var/log/gitlab 所有服务日志目录 gitlab-ctl reconfigure 重新加载配置 gitlab-ctl show-config 查看当前配置信息 gitlab-ctl restart 重启所有服务 gitlab-ctl restart server-name 重启指定服务 gitlab-rake gitlab:backup:create 备份仓库及相应数据库数据 gitlab-rake gitlab:backup:restore BACKUP=1563663259 #根据备份文件的时间戳来寻找确定要恢复的备份文件
notice
更改配置文件后必须执行gitlab-reconfigure
gitlab 目录
/etc/gitlab/ 配置文件位置 /opt/gitlab/ 应用程序和相应依赖程序(nginx/redis等) /var/opt/gitlab/git-data/ 代码存放位置 /var/opt/gitlab/backups/ gitlab 备份文件位置 /var/log/gitlab/ 日志文件位置 /var/opt/gitlab/ gitlab-ctl reconfigure 编译后的应用数据和配置文件无需认为配置
邮箱配置
gitlab 配置邮件服务,这样gitlab 上的项目任务创建后就会以邮件形式发送给开发者而不用开发者登录gitlab后才能发现。
vi /etc/gitlab/gitlab.rb
备份管理
开启备份功能:
vi /etc/gitlab/gilab.rb gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #取消注释,也可以根据需要更改目录 gitlab_rails['backup_keep_time'] = 604800 #取消注释,保留指定时间内的备份数据,单位秒 gitlab-ctl reconfigure gitlab-ctl restart chown git.git /var/opt/gitlab/backups -R
执行备份
/opt/gitlab/bin/gitlab-rake gitlab:backup:create #手动执行备份,此备份不仅备份了代码仓库同时也包括了数据库中的数据 crontab -e #把上面命令加入计划任务,定期备份 1563663259_gitlab_backup.tar #备份命令执行后会生成备份文件名格式为 时间戳_gitlab_backup.tar date -d @1563663259 #翻译时间戳对应当前时间
备份恢复:
停止数据写入服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekip ls /var/opt/gitlab/backups gitlab-rake gitlab:backup:restore BACKUP=1563663259 #根据备份文件的时间戳来寻找确定要恢复的备份文件 gitlab-ctl start unicorn gitlab-ctl start sidekip gitlab-ctl restart #重启所有服务,如果执行此命令就无需执行上面命令
FAQ
现象:gitlab 使用很慢,服务器性能正常
root用户登录,查看监控情况
如果队列长度超过阈值就会等待,gitlab 使用就会慢
例如:有的邮件地址配置错误,邮件发送失败就会一直重试,导致队列满了,进而导致很慢