美文网首页Gitlab及Git菜鸟成神之路
centos7安装gitlab及注意事项

centos7安装gitlab及注意事项

作者: Frankeen | 来源:发表于2018-11-19 14:21 被阅读29次
    环境说明

    系统CentOS:CentOS7

    IP: 172.16.2.205

    操作步骤

    1.查看Linux系统版本确认gitlab需要使用的安装包类型
    [root@localhost proc]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)
    

    本系统是CentOS 7,对应官方教程地址:https://about.gitlab.com/installation/#centos-7

    2.安装 curl,policycoreutils-python,openssh-server服务
    yum install -y curl policycoreutils-python openssh-server
    
    3.启动sshd服务,并激活开机启动
    systemctl enable sshd
    systemctl start sshd
    
    4.防火墙允许http服务通过,如果防火墙没有启动需要启动防火墙systemctl start firewalld
    firewall-cmd --permanent --add-service=http
    systemctl reload firewalld
    systemctl start firewalld
    
    5.安装Postfix发送通知邮件,启动postfix服务,并激活开机启动
    yum install postfix
    systemctl enable postfix
    systemctl start postfix
    
    6.获取GitLab-ee(企业版·免费试用)或Gitlab-ce(社区版·免费)软件包yum源

    企业版:

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
    

    社区版:

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

    curl命令执行完成后,会在/etc/yum.repos.d目录下生成 gitlab_gitlab-ee.repo 或
    gitlab_gitlab-ce.repo文件

    关于gitlab-ee和gitlab-ce,二者是基于同样的核心代码进行开发,只是gitlab-ee功能更强大,但需要付费使用,有30天试用期。但试用期过后如果不付费,它就跟gitlab-ce功能是完全一样的,只是需要付费的功能无法再继续使用而已,所以这两个版本可以随意选择安装,但如果将来有付费的打算,直接安装gitlab-ee版本是个有远见的选择。当然,即使不付费,gitlab-ee使用上和gitlab-ce没有任何区别,所以接下来的操作我们就以安装gitlab-ee为例进行。

    如果安装gitlab-ce目前不需要使用国内镜像,如果是安装gitlab-ee就需要用到国内镜像

    7.修改gitlab_gitlab-ee.repo文件

    把repo_gpgcheck属性为0,以及baseurl属性为清华大学的开源镜像站地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7

    [gitlab_gitlab-ee]
    name=gitlab_gitlab-ee
    #baseurl=https://packages.gitlab.com/gitlab/gitlab-ee/el/7/$basearch
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7
    repo_gpgcheck=0
    gpgcheck=0
    enabled=1
    gpgkey=https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey
           https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    
    [gitlab_gitlab-ee-source]
    name=gitlab_gitlab-ee-source
    #baseurl=https://packages.gitlab.com/gitlab/gitlab-ee/el/7/SRPMS
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7
    repo_gpgcheck=0
    gpgcheck=0
    enabled=1
    gpgkey=https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey
           https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    

    修改完成后再刷新yum源:

    yum clean all
    yum yum makecache
    
    注意事项以及该文件关键键的介绍:

    1.gitlab_gitlab-ee和gitlab_gitlab-ee-source对应的地址都要换

    2.name是仓库的名字

    3.baseurl字段是仓库的url,也就是仓库具体的访问路径,就是通过这个选项告知yum,仓库在哪。这里可以指明多个url,如果写了多个url,yum将遵循failovermethod字段进行使用

    4.enabled字段指明了该url是否启用,0为不启用,默认为1

    5.gpgcheck字段指明了是否检查rpm包的签名信息、完整性信息,0为不启用,1为启用
    (注意:如果启用这个字段,也就是为1时,如果没有gpgkey时,检查很可能无法通过。我们可以在命令行中使用-- nogpgcheck选项禁止检查gpg)

    6.repo_gpgcheck指明了是否检查元数据信息文件的签名信息与完整性,0为不启用,1为启用

    7.gpgkey=url指明了密钥文件的url路径,有了这个密钥才能检查各种完整信息。

    8.由于gpgkey对应的地址需要翻墙所以gpgcheck也需要设置为0,如果你服务器不需要翻墙可以不用使用默认值1。

    9.https://mirrors.tuna.tsinghua.edu.cn是国内清华大学开源镜像站,避免yum install可能会因为网络原因导致失败。

    8.安装gitlab-ee(最新版本)

    EXTERNAL_URL地址是对应的访问你gitlab的地址

    EXTERNAL_URL="http://172.16.2.205:8888/gitlab" yum install -y gitlab-ee
    

    默认安装最新版本,如果需要安装指定的版本,可以到清华大学开源镜像站下载指定版本的rpm包。通过rmp -ivh gitlab-ee-10.6.2-ee.0.el7.x86_64.rpm 进行安装,注意同样需要先安装yum install policycoreutils-python,openssh-server postfix -y 服务。

    当看到一个由符合组成一张gitlab的图片的时候就是安装成功了。


    image
    9.添加8888和8887端口,并修改gitlab默认访问端口

    添加端口

    firewall-cmd --zone=public --add-port=8888/tcp --permanent
    firewall-cmd --zone=public --add-port=8887/tcp --permanent
    firewall-cmd --reload
    

    gitlab默认是80端口,如果存在端口冲突,需要修改端口,如果不存在端口冲突,则不需要。
    修改默认端口:需要放开/etc/gitlab/gitlab.rb文件里面nginx['listen_port']和nicorn['port']注释并设置端口,两个端口不能相同.具体原因笔者暂时也搞不懂,没用过nginx。

    nginx['listen_port'] = 8888
    unicorn['port'] = 8887
    

    刷新gitlab配置和启动

    gitlab-ctl reconfigure
    gitlab-ctl restart
    
    10.启动gitlab服务
    gitlab-ctl start
    

    gitlab默认端口为80,笔者这边安装的时候设置访问地址为http://172.16.2.205:8888/gitlab,第一次访问会要你重置root用户的密码,设置完密码,然后登录,就到以前熟悉的gitlab界面了。
    [图片上传失败...(image-ae6fca-1542608435808)]

    启动过程有点慢,访问的时候可能出现502超时请求,稍等一会就好了,如果等了很久还是502,就得考虑一下是不是端口占用问题

    安装过程可能出现问题和修复方法:
    1.1502 Whoops, GitLab is taking too much time to respond

    解决方案:

    修改默认端口:需要放开/etc/gitlab/gitlab.rb文件里面nginx['listen_port']和nicorn['port']注释并设置端口,两个端口不能相同.具体原因笔者暂时也搞不懂,没用过nginx。

    nginx['listen_port'] = 8888
    unicorn['port'] = 8887
    

    刷新gitlab配置和启动

    gitlab-ctl reconfigure
    gitlab-ctl restart
    
    ##### 2.出现ruby_block[supervise_redis_sleep] action run停留很久

    在卸载gitlab然后再次安装执行 gitlab-ctlreconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!

    解决方案:

    1、按住CTRL+C强制结束;

    2、运行:sudo systemctl restart gitlab-runsvdir;

    3、再次执行:sudo gitlab-ctl reconfigure

    相关文章

      网友评论

        本文标题:centos7安装gitlab及注意事项

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