• gtibase rpm包制作


    gitbase 是一个很不错的代码分析工具,我们可以直接使用sql来分析团队的代码,以下是rpm 包的制作

    简单说明

    rpm 包的制作使用了fpm 一个简单,方便可以跨平台的软件包制作工具

    gitbase 编译文件

    以下二进制文件是自己编译的一个版本,修改了关于统计没人代码行数,默认文件64kb的问题,增加到了8M(实际不能太大)
    参考:
    https://github.com/rongfengliang/gitbase/releases

    rpm 项目准备

    说明,只添加了支持基于systemd 管理的系统

    • systemd service 文件
      gitbase.service
     
    [Unit]
    Description=gitbase for git
    [Service]
    Type=simple
    User=root
    Group=root
    EnvironmentFile=-/etc/gitbase/gitbase
    ExecStart=/usr/bin/gitbase-linux server $OPTIONS
    Restart=always
    LimitAS=infinity
    LimitRSS=infinity
    LimitCORE=infinity
    LimitNOFILE=655360
    [Install]
    WantedBy=multi-user.target
     
     
    • 环境变量配置
      添加了几个默认的,自己可以调整 OPTIONS 为gitbase server 启动的参数
      gitbase
     
    EXPERIMENTAL_IN_MEMORY_JOIN=on
    MAX_MEMORY_INNER_JOIN=1024
    INMEMORY_JOINS=on
    OPTIONS=" -p 3306 --host=0.0.0.0 -d /var/lib/gitbase "

    配置说明
    EXPERIMENTAL_IN_MEMORY_JOIN 以及MAX_MEMORY_INNER_JOIN 主要是加速的,使用基于内存的join 处理
    加速运行,/var/lib/gitbase 为 git 代码存储的位置

    • fpm 生成rpm包
     
    fpm -s dir -t rpm -n gitbase --rpm-os linux -v v0.24.0-rc2 
      ./gitbase-linux=/usr/bin/ 
      ./gitcode=/var/lib/gitbase 
      ./gitbase.service=/usr/lib/systemd/system/gitbase.service 
      ./gitbase=/etc/gitbase/gitbase
    • 效果
    fpm -s dir -t rpm -n gitbase --rpm-os linux -v v0.24.0-rc2 
      ./gitbase-linux=/usr/bin/ 
      ./gitcode=/var/lib/gitbase 
      ./gitbase.service=/usr/lib/systemd/system/gitbase.service 
      ./gitbase=/etc/gitbase/gitbase
    Package version 'v0.24.0-rc2' includes dashes, converting to underscores {:level=>:warn}
    Created package {:path=>"gitbase-v0.24.0_rc2-1.x86_64.rpm"}

    安装效果

    • yum install
    yum install -y gitbase-v0.24.0_rc2-1.x86_64.rpm
    • 效果
    yum install -y gitbase-v0.24.0_rc2-1.x86_64.rpm
    已加载插件:fastestmirror
    正在检查 gitbase-v0.24.0_rc2-1.x86_64.rpm: gitbase-v0.24.0_rc2-1.x86_64
    gitbase-v0.24.0_rc2-1.x86_64.rpm 将被安装
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 gitbase.x86_64.0.v0.24.0_rc2-1 将被 安装
    --> 解决依赖关系完成
    依赖关系解决
    ===============================================================================================================
     Package 架构 版本 大小
    ===============================================================================================================
    正在安装:
     gitbase x86_64 v0.24.0_rc2-1 /gitbase-v0.24.0_rc2-1.x86_64 43 M
    事务概要
    ===============================================================================================================
    安装 1 软件包
    总计:43 M
    安装大小:43 M
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在安装 : gitbase-v0.24.0_rc2-1.x86_64 1/1 
      验证中 : gitbase-v0.24.0_rc2-1.x86_64 1/1 
    已安装:
      gitbase.x86_64 0:v0.24.0_rc2-1                                                                               
    完毕!
    • systemd 启动
    systemctl start gitbasee
    • 查看状态
    systemctl status gitbase -l 
     
     systemctl status gitbase -l 
    gitbase.service - gitbase for git
       Loaded: loaded (/usr/lib/systemd/system/gitbase.service; disabled; vendor preset: disabled)
       Active: active (running) since 2019-10-29 21:02:10 CST; 3s ago
     Main PID: 13979 (gitbase-linux)
        Tasks: 6
       Memory: 15.0M
       CGroup: /system.slice/gitbase.service
               └─13979 /usr/bin/gitbase-linux server -p 3306 --host=0.0.0.0 -d /var/lib/gitbase
    1029 21:02:10 iZ2zeg7uro1snhd9wqmp2oZ systemd[1]: Started gitbase for git.
    1029 21:02:10 iZ2zeg7uro1snhd9wqmp2oZ gitbase-linux[13979]: time="2019-10-29T21:02:10+08:00" level=error msg="could not find repositories, assuming non bare format" path=/var/lib/gitbase
    1029 21:02:10 iZ2zeg7uro1snhd9wqmp2oZ gitbase-linux[13979]: time="2019-10-29T21:02:10+08:00" level=info msg="squash tables rule is enabled"
    1029 21:02:10 iZ2zeg7uro1snhd9wqmp2oZ gitbase-linux[13979]: time="2019-10-29T21:02:10+08:00" level=info msg="server started and listening on 0.0.0.0:3306"

    说明

    关于fpm 安装的链接 https://www.cnblogs.com/rongfengliang/p/10674023.html

    参考资料

    https://github.com/rongfengliang/gitbase-rpm
    https://github.com/rongfengliang/gitbase
    https://www.cnblogs.com/rongfengliang/p/10674023.html

  • 相关阅读:
    常见算法之10---从第一字符串中删除第二个字符串中所有的字符
    常见算法之9---折半查找(二分查找)
    常用算法之8---找到数组中只出现一次的数字
    常见算法之7---判断是否所有小字符串里的字母在大字符串里都有
    常见算法之6---判断集合S之中是否存在两个数之和为指定大小N
    常见算法之5---单例模式[java]
    常见算法之4---正整数二进制表示中的1的个数
    常见算法之3---数组中出现次数超过一半的数字
    UVa 495
    《编程之美》笔记(一)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/11761591.html
Copyright © 2020-2023  润新知