GitLab项目部署

写在前面

  ★服务器配置:腾讯云 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

你可能感兴趣的:(GitLab项目部署)