写在前面
★服务器配置:腾讯云 2G内存+50G系统盘
★操作系统:centos 7.5
★GitLab版本:gitlab-ce-10.0.0-ce.0.el7.x86_64
安装
开启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
邮件服务安装
注:若无需要可跳过该步骤
yum install postfix
systemctl enable postfix
systemctl start postfix
安装gitlab
cd /usr/locale/src/
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
安装成功页面如下:
配置gitlab
//打开配置文件
vi /etc/gitlab/gitlab.rb
// 第13行,修改外网访问地址,若有域名,ip可替换为域名
external_url = 'http://ip:prot'
#修改nginx监听
#gitlab默认使用了nginx进行反向代理,这里我重新配置了一下 579行~580行
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8082
#配置nginx访问端口 800行
nginx['enable'] = true
#902行
nginx['listen_addresses'] = ['*']
# 848行
nginx['listen_port'] = 82
重新加载
gitlab-ctl reconfigure
gitlab-ctl restart
#出现如下提示说明重启成功
ok: run: gitaly: (pid 18536) 0s
ok: run: gitlab-monitor: (pid 18556) 1s
ok: run: gitlab-workhorse: (pid 18561) 0s
ok: run: logrotate: (pid 18610) 1s
ok: run: nginx: (pid 18616) 0s
ok: run: node-exporter: (pid 18623) 0s
ok: run: postgres-exporter: (pid 18634) 1s
ok: run: postgresql: (pid 18660) 0s
ok: run: prometheus: (pid 18722) 0s
ok: run: redis: (pid 18732) 0s
ok: run: redis-exporter: (pid 18737) 0s
ok: run: sidekiq: (pid 18758) 0s
ok: run: unicorn: (pid 18767) 1s
浏览器访问
至此,如无以外,GitLab服务器安装完成了,可通过浏览器访问。
异常处理
初始化管理员账号
在Gitlab部署完成后,首次访问时会让设置登陆密码。有时会设置无效。处理方法如下:
1、登陆服务器
2、切换目录
cd /opt/gitlab/bin
3、执行初始化密码命令
sudo gitlab-rails console production
页面显示如下:
[root@VM_0_2_centos bin]# gitlab-rails console production
Loading production environment (Rails 4.2.8)
irb(main):001:0>
4、在irb(main):001:0> 后 查找并切换账号
u=User.where(id:1).first
页面显示如下:
irb(main):001:0> u=User.where(id:1).first
=> #
irb(main):002:0>
5、设置密码并确认密码、保存
设置密码:u.password=1234567890
确认密码:u.password_confirmation=1234567890
保存: u.save
页面显示如下
irb(main):002:0> u.password=1234567890
=> 1234567890
irb(main):003:0> u.password_confirmation=1234567890
=> 1234567890
irb(main):004:0> u.save
完整流程如下:
[root@VM_0_2_centos bin]# gitlab-rails console production
Loading production environment (Rails 4.2.8)
irb(main):001:0> u=User.where(id:1).first
=> #
irb(main):002:0> u.password=1234567890
=> 1234567890
irb(main):003:0> u.password_confirmation=1234567890
=> 1234567890
irb(main):004:0> u.save
6、使用超级管理员账号登陆
账号:root
密码:01234567890
502问题
常见502错误,解决方案如下:
一、查看端口是否被占用
查看实时log
gitlab-ctl tail
服务器查看:
netstat -tnlp | grep "8080"
重启gitlab
gitlab-ctl restart
二、gitlab占用内存太多,导致服务器崩溃
采用swap分区解决内存问题
★ 查看swap分区是否启动
cat /proc/swaps #若未启动,无任何显示
★ 创建文件
命令:
dd if=/dev/zero of=/data/swap bs=512 count=8388616
显示:
[root@VM_0_2_centos src]# dd if=/dev/zero of=/data/swap bs=512 count=8388616
8388616+0 records in
8388616+0 records out
4294971392 bytes (4.3 GB) copied, 43.5525 s, 98.6 MB/s
★ 创建分区
命令:
mkswap /data/swap
显示:
[root@VM_0_2_centos src]# mkswap /data/swap
Setting up swapspace version 1, size = 4194304 KiB
no label, UUID=5f2b66a0-5575-42c5-862e-bd8e9d4b73a3
★ 查看并内核参数
查看: cat /proc/sys/vm/swappiness
设置: sysctl -w vm.swappiness=60
若想永久修改,则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0
★ 启用分区
swapon /data/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
★ 重启gitlab
gitlab-ctl restart
三、常用gitlab命令
启动:gitlab-ctl start
停止:gitlab-ctl stop
重启:gitlab-ctl restart
状态:gitlab-ctl status
日志:gitlab-ctl tail