gitstats是一个代码统计工具,本文主要描述gitstats的安装和使用,gitstats分析之后生成html文件,因此可以使用nginx代理访问。
项目地址
gitstats
安装步骤
1、运行 nginx 容器
docker run -d \
-p 9876:80 \
-v /opt/data/nginx/www:/usr/share/nginx/html \
-v /opt/data/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/data/nginx/conf.d:/etc/nginx/conf.d \
-v /opt/data/nginx/logs:/var/log/nginx \
-v /opt/gitstats:/opt/gitstats \
--name nginx-01 nginx
2、安装必要工具
# 进入nginx容器
docker exec -ti nginx-01 bash
# 安装 git
yum install git
apt install git
# 安装 python2
yum install python2
apt install python
# 安装 gnuplot
yum install gnuplot
apt install gnuplot
3、克隆 gitstats 源码
git clone https://github.com/hoxu/gitstats.git
4、分析代码
# src: 待分析的git源码
# output: 结果输出的路径
./gitstats [src] [output]
# 例子
./gitstats /opt/src/fastjson /opt/output/fastjson
Execution time 10.20605 secs, 3.38126 secs (33.13 %) in external commands)
You may now run:
sensible-browser '/opt/output/fastjson/index.html'
结果文件如图所示
5、配置nginx
location / {
root /output/;
index index.html index.htm;
}
访问:http://nginx/output
6、TODO
部署http服务,远程执行分析命令,执行完成返回查看结果的URL
遇到的问题
1、安装完验证 gnuplot 报错
问题
root@01674ca9e38a:/# gnuplot
gnuplot: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
解决
strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
安装 strip
yum install binutils
apt install binutils
参考链接
https://blog.csdn.net/finaly_yu/article/details/122617840
https://codeantenna.com/a/U8H2HXPQpc#google_vignette