• DevOps元素周期表——1号元素 Gitlab


    img

    DevOps元素周期表——1号元素 Gitlab

    GitLab 是由 GitLab Inc.开发,一款基于 Git 的完全集成的软件开发平台(fully integrated software development platform)。另外,GitLab 且具有wiki以及在线编辑、issue跟踪功能、CI/CD 等功能。

    一. 简介

    官网: https://about.gitlab.com/

    GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

    img

    它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

    GitLab 5.0以前版本要求服务器端采用 Gitolite 搭建,5.0版本以后不再使用 Gitolite ,采用自己开发的 gitlab-shell 来实现。如果你觉得安装麻烦可以使用 GitLab Installers 一键安装程序。

    img

    二. 安装配置

    • 系统

      Centos7

    • 准备工作

      • 关闭firewalld防火墙

        • systemctl stop firewalld
        • systemctl disable firewalld
      • 关闭SELINUX并重启系统

        • vi /etc/sysconfig/selinux

          SELINUX=disabled

        • reboot

    • 开始安装

      安装Omnibus Gitlab-ce package

      # yum -y install curl policycoreutils openssh-server openssh-clients postfix
      

      配置YUM仓库

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

      启动postfix邮件服务

      # systemctl start postfix && systemctl enable postfix
      

      安装Gitlab-ce社区版本

      # yum install -y gitlab-ce
      

      证书创建与配置加载

      Nginx SSL代理服务配置

      初始化Gitlab相关服务并完成安装

      # mkdir -p /etc/gitlab/ssl
      
      # openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
      # openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
      
    # openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
    
    # chmod 600 *
    # vi /etc/gitlab/gitlab.rb
    
    将eternal_url 'http://gitlab.example.com' 改为https
    
    nginx['redirect_http_to_https'] = false 删除注释,改为true
    
    nginx['ssl_certificate'] = "etc/gitlab/ssl/#{node...}.crt" 改为 "/etc/gitlab/ssl/gitlab.example.com.cre"
    
    nginx['ssl_certificate_key'] = "etc/gitlab/ssl/#{node...}.key" 改为 "/etc/gitlab/ssl/gitlab.example.com.key"
    
    nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
    
    # gitlab-ctl reconfigure
    # vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
    
    server_name下面添加rewrite ^(.*)$ https://$host$1 permanent
    
    # gitlab-ctl restart
    

    修改本地hosts文件

    vmware-ip(虚拟机ip地址)	gitlab.example.com
    

    浏览器访问,登录修改admin账号密码

    当然还可以通过docker来安装,不过对于gitlab这种服务,并不推荐使用docker,因为其服务依赖系统资源强,而且你的仓库也不希望一个简单的docker rm命令就可以被连带销毁掉。

  • 相关阅读:
    MVC ActionResult JsonResult
    xml文件
    使用socket实现聊天功能
    使用多线程完成Socket
    Socket编程
    U1总结
    多线程
    IO
    单例模式
    日期
  • 原文地址:https://www.cnblogs.com/LexMoon/p/devops-gitlab.html
Copyright © 2020-2023  润新知