zoukankan      html  css  js  c++  java
  • gitlab安装/配置/维护

    安装配置

    环境与环境

      系统 centos-7   版本8.9.5 ,当前主流版本,最新版变化较大

    安装

      ruby 安装(gitlab 是ruby 开发的所以依赖于ruby环境)
        版本
        [root@k8s-master ~]# ruby -v
        ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]
      gilab 安装

    安装依赖
    sudo yum install curl policycoreutils openssh-server openssh-clients
    sudo systemctl enable sshd
    sudo systemctl start sshd
    sudo yum install postfix
    sudo systemctl enable postfix
    sudo systemctl start postfix
    sudo firewall-cmd --permanent --add-service=http
    sudo systemctl reload firewall
    
    rpm -ivh gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm (视频目录有安装包)
    View Code

    配置

    vi /etc/gitlab/gitlab.rb
    external_url 'http://192.168.231.101'    (默认地址是主机名)
    gitlab-ctl reconfigure          #发起了一个自动化配置的过程
    View Code

    访问

      http://192.168.231.101
      重置密码,root 登录

    gitlab 组成

    gitlab 是由一系列的组件组成的,安装的时候就一键安装了

    常用命令

    gitlab-ctl                 查看所有命令
    gitlab-ctl status             查看各个服务进程状态
    gitlab-ctl tail nginx         查看nginx 日志
    cd /var/log/gitlab            所有服务日志目录
    gitlab-ctl reconfigure         重新加载配置
    gitlab-ctl show-config         查看当前配置信息
    gitlab-ctl restart            重启所有服务
    gitlab-ctl restart server-name   重启指定服务
    gitlab-rake gitlab:backup:create 备份仓库及相应数据库数据
    gitlab-rake gitlab:backup:restore BACKUP=1563663259        #根据备份文件的时间戳来寻找确定要恢复的备份文件
    View Code

    notice

      更改配置文件后必须执行gitlab-reconfigure

    gitlab 目录

    /etc/gitlab/                      配置文件位置
    /opt/gitlab/                      应用程序和相应依赖程序(nginx/redis等)
    /var/opt/gitlab/git-data/               代码存放位置
    /var/opt/gitlab/backups/    gitlab       备份文件位置
    /var/log/gitlab/                     日志文件位置
    /var/opt/gitlab/    gitlab-ctl reconfigure        编译后的应用数据和配置文件无需认为配置
    View Code

     邮箱配置

    gitlab 配置邮件服务,这样gitlab 上的项目任务创建后就会以邮件形式发送给开发者而不用开发者登录gitlab后才能发现。

    vi  /etc/gitlab/gitlab.rb  

    备份管理

    开启备份功能:

    vi /etc/gitlab/gilab.rb
    gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"            #取消注释,也可以根据需要更改目录
    gitlab_rails['backup_keep_time'] = 604800                  #取消注释,保留指定时间内的备份数据,单位秒
    gitlab-ctl reconfigure
    gitlab-ctl restart
    chown git.git /var/opt/gitlab/backups -R
    View Code

    执行备份

    /opt/gitlab/bin/gitlab-rake gitlab:backup:create    #手动执行备份,此备份不仅备份了代码仓库同时也包括了数据库中的数据
    crontab -e #把上面命令加入计划任务,定期备份
    1563663259_gitlab_backup.tar    #备份命令执行后会生成备份文件名格式为 时间戳_gitlab_backup.tar
    date -d @1563663259    #翻译时间戳对应当前时间
    View Code

    备份恢复:

    停止数据写入服务
    gitlab-ctl stop unicorn
    gitlab-ctl stop sidekip
    ls /var/opt/gitlab/backups    
    gitlab-rake gitlab:backup:restore BACKUP=1563663259      #根据备份文件的时间戳来寻找确定要恢复的备份文件
    gitlab-ctl start unicorn
    gitlab-ctl start sidekip
    gitlab-ctl restart                        #重启所有服务,如果执行此命令就无需执行上面命令
    View Code

    FAQ

    现象:gitlab 使用很慢,服务器性能正常

    root用户登录,查看监控情况

     如果队列长度超过阈值就会等待,gitlab 使用就会慢

     例如:有的邮件地址配置错误,邮件发送失败就会一直重试,导致队列满了,进而导致很慢

  • 相关阅读:
    markdown转HTML,目录生成
    schedule与scheduleAtFixedRate之Timer源码分析
    rocketmq刷盘过程
    rocketmq消息存储概述
    Cassandra修改集群名称
    Cassandra读写性能测试
    rocketmq--push消费过程
    rocketmq消费负载均衡--push消费为例
    go反射实例
    JUnit4参数的使用
  • 原文地址:https://www.cnblogs.com/fanggege/p/11474934.html
Copyright © 2011-2022 走看看