美文网首页java
搭建gitlab仓库

搭建gitlab仓库

作者: 冷枫abc | 来源:发表于2020-02-02 11:58 被阅读0次

    稍具规模一点的公司都会搭建属于自己的git,svn,而内部git用的最多的则是gitlab,虽然官网已经提供了非常多的功能,但内网搭建更能保证项目的私有性,只有公司内部员工才可以访问,更加安全。

    这里演示gitlab的搭建与简单配置

    image

    操作

    1. 安装一些依赖软件包,SSH一般系统是默认安装好的,不过也不排除一些最小安装的系统没有sshd服务。
    sudo yum install -y curl policycoreutils-python openssh-server
    sudo systemctl enable sshd
    sudo systemctl start sshd
    
    
    1. 关闭防火墙,或者开放HTTP的端口
    //刷新防火墙的规则
    iptables -F
    
    
    1. 安装邮件服务,当gitlab想要通过邮件通知,也可以另外配置其它的邮件服务器
    sudo yum install postfix
    sudo systemctl enable postfix
    sudo systemctl start postfix
    
    
    1. 从官网获取一件安装脚本,当然自己手动安装也是可以的gitlab下载地址,使用官网脚本会简单一些。执行这一步会如果使用CentOS系统,会添加gitlab的yum源
    //输出到文件里是为了看下下载的脚本内容
    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh > rpm.sh
    chmod +x rpm.sh
    ./rpm.sh
    
    
    1. 安装gitlab
    //使用yum安装gitlab
    yum install -y gitlab-ee
    //可以看下gitlab-ee包的内容,看到gitlab安装在/opt/gitlab目录下
    rpm -ql gitlab-ee | less
    
    
    1. 上面已经安装好了gitlab,不过可以稍作一些配置,配置gitlab监听的地址与端口,gitlab的配置文件在/etc/gitlab/目录下,主要配置文件为gitlab.rb

      我修改了下gitlab.rb文件中的nginx监听地址,

      external_url 'http://gitlab.ai-he.me'
      nginx['listen_addresses'] = ['0.0.0.0', '[::]']
      # 系统端口冲突,我把端口改为了82
      nginx['listen_port'] = 82
      
      

    里面的配置项非常的多,可以对照官网文档根据需要修改。gitlab配置选项

    1. 运行gitlab命名,并重启
    //重新配置gitlab
    sudo gitlab-ctl reconfigure
    //重启gitlab
    gitlab-ctl restart 
    // 查看gitlab-ctl命令的帮助信息
    gitlab-ctl --help
    
    
    1. 打开浏览器查看效果,第一次打开页面会让我们设置root用户的密码。记住自己设置的密码,再次刷新进入登录页面

      image
    2. 以管理员身份登录,默认的用户是root,密码是刚才设置的。

      image
    image
    1. 搭建好环境之后,下面的则根据官方文档解释,自己摸索做一些根据自己需要的修改,二次开发也可以。

    最后

    公司内部一般都会搭建内部gitlab仓库,自己搭建下摸索着玩玩。

    参考

    安装Gitlab完成后:
    Gitlab默认Nginx80端口
    如果机器未占有80端口,可以直接替换成域名,解析后就可以直接访问。

    grep "^external_url" /etc/gitlab/gitlab.rb #查看当前绑定的域名或者IP
    vim /etc/gitlab/gitlab.rb   #打开配置文件
    # external_url 'http://192.168.174.131'  #替换   #修改成域名访问
    external_url 'http://gitlab.inewmaker.com'  
    gitlab-ctl reconfigure   #重新跑一下配置
    

    如果机器80端口以占有,需要修改gitlab端口。

    grep "'listen_port" /etc/gitlab/gitlab.rb   #查看默认端口
    vim /etc/gitlab/gitlab.rb   #打开配置文件
    nginx['listen_port'] = 800     #找到取消注释,修改端口
    gitlab-ctl reconfigure   #重新跑一下配置
    

    由于更改端口,域名解析不到。提供方式使用云服务中的负载均衡。
    首先各平台的安全组放通端口 "800" ,

    注:需要使用Gitlab邮箱服务,腾讯云需要先解封25端口

    --

    注:使用云主机,云平台的负载一般都是绑定自家的云主机的。

    阿里云设置监听,前端"80",后端"800",就可以了。
    腾讯云刚接触可能有点麻烦:
    单击【+】,开始添加规则


    gitlab配置域名访问

    Gitlab配置HTTPS

    注:使用的Gitlab默认"80"端口
    阿里云免费HTTPS证书申请
    使用自己设的加密证书应设置letsencrypt['enable'] = false,letsencrypt['auto_renew'] = false在/etc/gitlab/gitlab.rb禁用自动更新。否则,gitlab-ctl reconfigure 可能会尝试更新证书,从而覆盖它们。

    mkdir /etc/gitlab/ssl   #把申请的证书放在这里
    vim  /etc/gitlab/gitlab.rb   #打开配置文件
    external_url 'external_url 'https://gitlab.inewmaker.com'  # 注:一定要HTTPS
    nginx['redirect_http_to_https']= true   #取消注释改为 true
    nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.pem"    #放置对应的证书密钥
    nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key" #放置对应的证书密钥
    
     gitlab-ctl reconfigure  #使配置生效
    
    vim /var/opt/gitlab/nginx/conf/gitlab-http.conf #设置https
    

    配置一般自动生成把sll端口 "80"换成"443"


    gitlab配置域名访问
    gitlab-ctl restart  # 使配置生效 # 
    

    相关文章

      网友评论

        本文标题:搭建gitlab仓库

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