美文网首页
搭建GitLab服务器

搭建GitLab服务器

作者: Wadafa | 来源:发表于2017-11-20 23:27 被阅读0次

    GitLab安装与维护

    GitLab是GitHub的免费私有库替代方案,并且安装与配置都很方便。

    系统需求

    GitLab要求最少4GB内存,支持小团队使用没问题,实测2GB内存的VPS基本没法用,开swapfile也不行,动不动就60秒超时。因此4GB内存是必须的。

    关于这一点,内存大户主要是Unicorn,基于ruby的http服务器。Unicorn会在启动后预先占用大部分内存,内存会随着使用逐渐增长,并且不会释放。根据GitLab和Unicorn的官方文档,这不是它们的锅,那么这个锅可能是ruby和rails了。解决方法是unicorn-work-kill,会根据请求次数和内存占用自动重启Unicorn。Omnibus版的GitLab是默认开启的。

    版本选择

    GitLab分为社区版和企业版,在未付费的情况下,两者的功能是一样的。并且社区版整合了CI/CD,因此可以满足绝大部分的开发需求。

    安装包主要包括Omnibus整合包,Docker、AWS等的云镜像,以及一些第三方维护的版本。其中Omnibus直接整合了所有服务端组件,适合自用和练手。

    安装

    安装以Omnibus整合包为例,操作系统为Ubuntu16.04。

    安装必要组件(可选)

    Gitlab需要 curl,openSSH 和 ca-certificates 这几个组件:

    sudo apt-get install -y curl openssh-server ca-certificates
    

    不过服务器系统一般自带,所以是可选的。

    安装邮件服务(可选)

    邮件服务,用于GitLab发送找回密码的邮件:

    sudo apt-get install -y postfix
    

    不过如果服务器没有域名的话,大部分邮箱会拒收邮件,而管理员帐号可以直接重置其他账号的密码,所以是可选的。

    添加源

    官方提供的脚本:

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    

    这个脚本会自动添加源到apt 的source list,以及安全key。另外,如果自己服务器在国内,脚本会自动添加清华的镜像,速度还行。

    安装

    先更新apt缓存:

    sudo apt update
    

    推荐使用apt 而不是apt-get,前者大多数情况下更简单一点。

    然后是安装:

    sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce
    

    其中EXTERNAL_URL ,改成自己的域名。没有域名的话,可以直接设置成IP的形式:http://1.2.3.4,这个推测跟nginx服务以及GitLab中的项目地址有关,所以最好正确设置。当然也可以之后在配置文件里更改。

    配置

    安装完成后,可以在配置文件中修改配置/etc/gitlab/gitlab.rb

    比如之前的EXTERNAL_URL:

    external_url 'http://gitlab.example.com'
    

    官方还有一个关于unicorn的优化建议:

    # unicorn['worker_processes'] = 2  ##修改要去掉前面的#号
    

    默认值是2,如果服务器只用于GitLab的话,官方建议是CPU核心数加一,可以提高服务器的响应速度。不过如果内存只有4G,或者服务器同时承载其他服务,就不要改了,以免内存不足。另外,这个参数最小值是2,设为1,服务器可能会卡死。

    配置完成后,刷新配置:

    sudo gitlab-ctl reconfigure
    

    每次修改完gitlab.rb,都要刷新配置。

    如果没有报错的话,GitLab就配置完毕并且正常运行了。接下来可以打开浏览器开始访问了。

    相关文章

      网友评论

          本文标题:搭建GitLab服务器

          本文链接:https://www.haomeiwen.com/subject/cczbvxtx.html