gitlab的安装过程及配置还有各种坑总结

前文

不止闲谈,有一些坑,推荐阅读
个人使用的系统:Centos7.4,所有操作默认在具有root权限下操作

之前一直用github存放自己的开源代码,可是不开源的代码放文件夹过段时间就忘了,甚至于可能顺手就删了,没有了再去重新写吧,太麻烦。

  1. 想想自己手上还有几台服务器,挑了挑都说gitlab不错,媲美github,说干就干。

  2. 给自己的学生机(1h2g1m)装,结果装完就不对了,主机卡到爆炸,后来看官网推荐配置:2h4G,所以第一个大坑就出来了:内存最低都要给个4G

  3. 同时设置swap交换空间,此时第一个知识点:设置swap交换内存

    ########################## 此时默认你的权限是root  ##########################
    ########################## 不是的话加命令前加:sudo ##########################
    
    # 查看 swap 分区
    # 如果只有标题栏,没有数据的话,那就是没有swap分区。
    cat /proc/swaps
    
    # 创建swap分区
    # 这里创建swap的大小=bs*count,这里是4G,具体可以自己算,一般推荐的话是你主机内存的1.5~2倍
    # 这里如果没有找到/mnt/swap 那就是/data/swap
    dd if=/dev/zero of=/mnt/swap bs=512 count=8388616
    
    # 通过mkswap命令将上面新建出的文件做成swap分区
    mkswap /mnt/swap
    
    # 查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
    # 查看参数(个人建议改成永久,不然你主机万一重启就糟了)
    cat /proc/sys/vm/swappiness
    # 若是0设置参数(临时设置)
    sysctl -w vm.swappiness=60
    # 永久设置(vm.swappiness=0 改为 vm.swappiness=60)
    vim /etc/sysctl.conf
    
    # 启用分区
    swapon /mnt/swap
    echo “/mnt/swap swap swap defaults 0 0” >> /etc/fstab
    
    # 再次查看swap分区是否启动,有数据则说明设置成功了
    cat /proc/swaps
    
    # 再次确认swap分区生效,生效依据为swap后面数字不为0
    free -m
    

4.现在可以放心继续看下面的安装步骤了

一、安装

  • 安装有两种方法:(两种具体看自己需求)
    1. 自定义安装,也就是手动安装(繁琐)
    2. 通过宝塔安装,只需要安装宝塔和后面的配置了( 个人推荐
1.1 宝塔安装
  1. 安装宝塔并登陆(输入一次y,即可安装)
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
    
    在这里插入图片描述
  2. 输入上面给的面板地址,输入账户密码登陆进入后安装LNMP,建议选择编译安装,不然后期会跳各种奇怪的问题,然后一键安装即可(大概30分钟左右)。
    在这里插入图片描述
  3. 等待安装完毕后,打开到软件商店,第三页有Gitlab最新社区版Gitlab中文社区版,具体一些也写了,4G或者4G内存往上可以安装最新版,还支持wiki、CI/CD等功能,点击安装确认(大概10分钟左右)如果需要域名访问设置,则进入设置记录下访问地址:http://IP:Port
    在这里插入图片描述
    在这里插入图片描述
    1. 因为Gitlab自带nginx,所以不支持80/8080,如果想用域名访问,可以nginx反向代理,操作如下:

      1. 点击左边菜单栏进入网站,然后添加站点填入自己的域名
        domain
      2. 创建完成网站后进入设置—>反向代理—>添加反向代理
        将刚才在Gitlab最新版社区** 设置里面的http://IP:Port填入进去,完成保存。
        在这里插入图片描述
        在这里插入图片描述
      3. 此时你应该就可以通过你刚创建网站的那个域名访问Gitlab主页了,进去后设置密码,然后跳转到登录页面用户名:root
        set passwd
    2. 此时就进入了关键的配置步骤了。

1.2 自定义安装
# 安装依赖软件
yum -y install policycoreutils openssh-server openssh-clients postfix

# 设置postfix、ssh开机自启,并启动
systemctl enable postfix  && systemctl start postfix
systemctl enable ssh && systemctl start ssh

# 添加GitLab仓库,并安装
curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce

# 此时那你输入你的 IP看是否可以进入,正常你如果占用8080端口的话会报502,然后执行
vi /etc/gitlab/gitlab.rb
# 找到 external_url "http://IP:Port" IP可以设置为你的主机 IP,Port:8888之类自定义即可
# 例:external_url 'http://192.168.0.97:8999' 安全组要打开相应端口

# 重置并启动 GitLab
gitlab-ctl reconfigure
gitlab-ctl restart

### 此时安装完成,你可以去访问刚才 external_url设置的IP+Port进入Gitlab了
### 然后直接跳转去配置步骤即可

二、配置

Gitlab设置为中文(User就是点击你右上角下拉列表

User —> Setting —> Preferences —> Language —> 中文简体

设置ssh秘钥
  1. 打开你电脑的CMD或者Terminal

    ssh-keygen -C "[email protected]"

  2. 此时你电脑的目录下会有 私钥:id_rsa 和 公钥:id_rsa.pub 两个文件

    1. Windows:
      C:\Users\13737\.ssh

    2. Linux:($ user是值你的当前用户名
      /$user/.ssh

    3. 复制 id_rsa.pub里的内容到Gitlab页面下的sshUser —> Setting —> SSH Keys,保存
      在这里插入图片描述

设置Smtp邮箱服务(此处以个人QQ邮箱为例

说明:
先去开通qq邮箱的smtp服务,具体过程此处略,百度很多,最终要有一个密令密码串,记住下面要用到

  1. 打开gitlab.rb

    vim /etc/gitlab/gitlab.rb

  2. 将下面的东西复制到gitlab.rb文件的末尾

    stmp_password记得不是你QQ邮箱密码,是上面申请的那个密令密码串
    那两个邮箱可以写成一样的,不影响

    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.qq.com"
    gitlab_rails['smtp_port'] = 465
    gitlab_rails['smtp_user_name'] = "[email protected]"
    gitlab_rails['smtp_password'] = "xxxxxxxxxxxxx"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    gitlab_rails['gitlab_email_from'] = '[email protected]'
    
  3. 重新配置生效

    gitlab-ctl reconfigure

  4. 测试邮箱是否配置正确(这个得几分钟,没反应不要怕,一会就好了,
    出现类似xxx:001:0>就说明可以继续了)

    gitlab-rails console

  5. 输入下面的命令测试,配置没问题的话,几秒钟你的邮箱就会收到一封名字是test的邮件了

    # [email protected]换成你要实际发送测试邮件的目标邮箱地址
    Notify.test_email('[email protected]', 'test', 'test_text').deliver_now
    

    在这里插入图片描述

错误
在配置完smtp邮箱服务器后发现进入Gitlab 报502错误
  1. 输入gitlab-ctl tail后显示:
    在这里插入图片描述

  2. 报错误:

    chpst: fatal: unable to run: /opt/gitlab/embedded/sbin/nginx: file does not exist

  3. 原因:

    宝塔的问题, 为了防止nginx冲突, 把gitlab的nginx启动文件名改成了gitlab-web, 但有个配置文件没修改成功导致错误。

  4. 解决:

    # 修改nginx启动文件:
    vi /opt/gitlab/sv/nginx/run
    
    ## 将exec chpst -P /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
    ## 改为
    ## exec chpst -P /opt/gitlab/embedded/sbin/gitlab-web -p /var/opt/gitlab/nginx
    
    # 重启nginx服务
    service nginx restart
    

    gitlab-nginx

总结

这次从自定义安装到发现宝塔安装,从1h2g1m跑不起来到狠下心买了一台2h4g5m的服务器,总算是搭建完毕了,中间肯定还会有其他问题,比如你想把仓库的位置改变,但这些网上有很多,这次把常见的安装gitlab的大坑和可以通过宝塔来安装的简单技巧发出来,避免别人安装费时费力的操作,一起学习,一起进步。

猜你喜欢

转载自blog.csdn.net/qq_30722795/article/details/105393730