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
10月 29 21:02:10 iZ2zeg7uro1snhd9wqmp2oZ systemd[1]: Started gitbase for git.
10月 29 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
10月 29 21:02:10 iZ2zeg7uro1snhd9wqmp2oZ gitbase-linux[13979]: time="2019-10-29T21:02:10+08:00" level=info msg="squash tables rule is enabled"
10月 29 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
gtibase rpm包制作的更多相关文章
- php-7.1.0 rpm包制作
nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...
- RPM包制作教程
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- rpm包制作(待实验)
作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm N ...
- RPM包制作方法
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- rpm包制作介绍
RPM(Rpm Package Management)在ReadHat等发行版下被用作软件包管理程序,其将某个软件相关的文件置入一个.rpm包中,用rpm命令,我们可以方便地完成Linux下软件安装. ...
- nginx-1.8.0 rpm包制作
1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_ ...
- 实战RPM包制作
在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...
- RPM包制作过程(一)
本机环境:centos7,64位 1. 首先安装工具,rpmbuild可能在rpmdevtools里已经包含 #yum install rpm-devel.x86_64 #yum install rp ...
- 简单介绍RPM包制作方法
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中.它生成具有.RPM扩展名的文件.使用r ...
随机推荐
- Python之路【第二十五篇】:数据库之pymysql模块
数据库进阶 一.pymysql模块 pymysql是Python中操作Mysql的模块,其使用的方法和py2的MySQLdb几乎相同. 二.pymysql模块安装 pip install pymysq ...
- Win 10卡顿怎么办?解决win10卡顿的方法大汇总
最近微软开始向Windows 10用户推送创造者更新(Creators Update),相信也有很多小伙伴已经尝鲜了这一最新的版本.而对于win10的使用体验,很多小伙伴第一个抱怨的问题便是win10 ...
- go 学习笔记---chan
如果说 goroutine 是 Go语言程序的并发体的话,那么 channels 就是它们之间的通信机制.一个 channels 是一个通信机制,它可以让一个 goroutine 通过它给另一个 go ...
- hbase-indexer官网wiki
Home Requirements Getting Started Installation Tutorial Demo Indexer Configuration CLI tools Metrics ...
- 配置kubectl在Mac(本地)远程连接Kubernetes集群
集群部署在云服务器的ECS上,但是有时需要本地原创连接集群,这就需要通过ApiServer的外网地址去访问集群,但是-/.kube/config下的地址又都是内网,所以可以使用如下方式解决: Mac安 ...
- 关于乌班图18.04安装mysql不提示设置密码解决方案
1.下载安装mysql sudo apt-get update sudo apt-get install -y mysql-server mysql-client //下载mysql 运行mysql时 ...
- linux 如何修改默认的FTP帐号或密码
wdlinux_lamp,wdlinux_lnmp的系统安装好后,默会创建一个FTP用户用户名是:wdlinux密码是:wdlinux.cn 如想修改密码或用户名,先找个ssh工具,有关ssh客户端的 ...
- SpringBoot学习<二>——SpringBoot的默认配置文件application和多环境配置
一.SpringBoot的默认文件appliction 上一篇文章已经说明,springboot启动会内嵌tomcat,端口也是默认的8080,如果我们想要改变端口如果做呢? 在springboot项 ...
- ML-对偶(Duality)问题初识
Primal vs Dual 为什么要把原始问题(primal) 转为 对偶问题(dual), 主要原因在于, 求解方便吧大概. 对偶问题 原始问题和其对偶问题, 都是对看待同一个问题的,从不同角度, ...
- JVM 入门指南
一.什么是JVM? JVM: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机.JVM 可以看作一台抽象的计算机,如同真实的计算机一样,它有自己的指令集和各种运行时区域 ...