• 【Git】 GitLab服务器社区版安装与配置


    GitLab简介

      GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

    GitLab系统架构

      当~git在图片中引用时,它表示git用户的主目录,通常是/ home / git。

      GitLab主要以/home/git用户身份安装在用户主目录中git在主目录中是gitlabhq服务器软件所在的位置以及存储库(尽管存储库位置是可配置的)。

      裸存储库位于/home/git/repositoriesGitLab是一个ruby on rails应用程序,因此可以通过研究ruby on rails应用程序的工作原理来学习内部工作的细节。

      为了通过SSH提供存储库,有一个名为gitlab-shell的附加应用程序,它安装在/home/git/gitlab-shell

      组件

      

      1、repository:代码库,可以是硬盘或 NFS 文件系统

      2、Nginx:Web 入口

      3、数据库:包含以下信息:
        a、repository 中的数据(元数据,issue,合并请求 merge request 等)
        b、可以登录 Web 的用户(权限)

      4、Redis:缓存,负责分发任务

      5、sidekiq:后台任务,主要负责发送电子邮件。任务需要来自 Redis

      6、Unicorn:Gitlab 自身的 Web 服务器,包含了 Gitlab 主进程,负责处理快速/一般任务,与 Redis 一起工作。工作内容包括: 
        a、通过检查存储在 Redis 中的用户会话来检查权限
        b、为 Sidekiq 制作任务
        c、从仓库(warehouse)取东西或在那里移动东西

      7、gitlab-shell:用于 SSH 交互,而不是 HTTP。gitlab-shell 通过 Redis 与 Sidekiq 进行通信,并直接或通过 TCP 间接访问 Unicorn

      8、gitaly:后台服务,专门负责访问磁盘以高效处理 git 操作,并缓存耗时操作。所有的 git 操作都通过 Gitaly 处理

      9、gitlab-workhorse:反向代理服务器,可以处理与 Rails 无关的请求(磁盘上的 CSS、JS 文件等),处理 Git Push/Pull 请求,处理到 Rails 的连接(修改由 Rails 发送的响应或发送给 Rails 的请求,管理 Rails 的长期 WebSocket 连接等)。

      10、mail_room:处理邮件请求。回复 GitLab 发出的邮件时,GitLab 会调用此服务

      Sidekiq、Unicorn 和 GitLab-shell 是 GitLab 中处理任务的 3 个程序。

      GitLab 应用程序是上述所有组件的集合。

    GitLab社区版安装

      环境:CentOS 7.4

      内存:2G

      版本:社区版 gitlab-ce-11.3.12-ce.0.el7.x86_64.rpm
          

      1、安装必要的依赖项,还将在系统防火墙中打开HTTP和SSH访问

        安装命令:sudo yum install -y curl policycoreutils-python openssh-server

        激活命令:sudo systemctl enable sshd

        启用命令:sudo systemctl start sshd

        防火墙命令:sudo firewall-cmd --permanent--add-service=http

               sudo systemctl reload firewalld 

      2、安装Postfix以发送通知电子邮件

        安装命令:sudo yum install postfix

        激活命令:sudo systemctl enable postfix

        启用命令:sudo systemctl start postfix

      3、下载GitLab软件包(社区版),地址:https://packages.gitlab.com/gitlab/gitlab-ce

      4、安装GitLab软件包

        命令:rpm -ivh gitlab-ce-11.3.12-ce.0.el7.x86_64.rpm

        

        查看gitlab相关目录,命令:find / -name gitlab

        

        目录结构

        • /opt/gitlab/   ## 主目录 
        • /etc/gitlab/   ## 放置配置文件 
        • /var/opt/gitlab/   ## 各个组件 
        • /var/log/gitlab/   ## 放置日志文件
        • /var/opt/gitlab/git-data/repositories   ##数据库的地址  
        • /var/opt/gitlab/postgresql/data   #gitlab组和项目的地址

        gitlab配置文件/etc/gitlab/gitlab.rb

      5、初始化gitlab,命令:gitlab-ctl reconfigure

        

      6、启动gitlab

        启动命令:gitlab-ctl start

        停止命令:gitlab-ctl stop

        重启命令:gitlab-ctl restart

        安装后,已经自动安装成开机启动服务

        服务启动命令:systemctl start gitlab-runsvdir.service

        服务停止命令:systemctl stop gitlab-runsvdir.service

        服务重启命令:systemctl restart gitlab-runsvdir.service

        服务开机启动命令:systemctl enable gitlab-runsvdir.service

        取消开机启动命令:systemctl disable gitlab-runsvdir.service

        服务查看命令:systemctl list-unit-files

      8、在浏览器使用ip地址进行访问,默认端口80,地址:http://ip,首次访问用户名是root,需要设置密码

        

        注意:启动后,访问可能出现502,可能是内存的原因,gitlab非常消耗内存(本例内存2g)

        

      9、设置完root用户的密码后,自动跳转到等路界面,使用root/password(password新设置的密码)

        

      10、登陆成功,主页

        

        

     

  • 相关阅读:
    Oracle Merge into
    查询 null 记录
    删除 eclipse 插件
    vs 密钥
    视频网站建设
    eclipse 版本 查看
    让数据库变快的十个建议
    c# WebBrowser 操作
    svn 代码合并
    Android开发者应该深入学习的10个开源应用项目
  • 原文地址:https://www.cnblogs.com/h--d/p/10100128.html
Copyright © 2020-2023  润新知