一、将如下内容拷贝入脚本StatisticsEntrance.sh

#!/bin/bash
echo "get cuurnt path"
basePath=$(cd $(dirname $0);pwd)
echo $basePath
# define variables
# 统计起始时间
BEGIN_TIME=$1
# 统计截止时间
END_TIME=$2
# 统计分析的SVN路径
SVN_URL=$3
# 定义统计文件类型 如:**/*.java:**/*.jsp:**/*.js:**/*.css:**/*.xml:**/*.sql:**/*.sh
INCLUDE_TYPE=$4
# 定义不包括的文件 如:**/js/jquery-1.6.2.min.js
EXCLUDE_FILE=$5

# 删除旧数据
cd $basePath
rm -rf StatisticsContents report

# 初始化过程报告归集目录
mkdir -p $basePath/processReports

# 定义记录日志函数
function logger(){
  printf "%s\n" "$*" > $basePath/Statistics.log
}

# 生成需要分析SVN临时路径
svn co --depth=empty $SVN_URL StatisticsContents
# 导出日志文件
cd $basePath/StatisticsContents
svn log -v --xml -r {$END_TIME}:{$BEGIN_TIME} > $basePath/StatisticsContents/svn.log
# 分析生成报告
java -jar $basePath/statsvn.jar $basePath/StatisticsContents/svn.log $basePath/StatisticsContents \
     -include $INCLUDE_TYPE \
     -exclude $EXCLUDE_FILE \
     -charset UTF-8 \
     -output-dir $basePath/report

# 记录日志
logger "Run by user " $(id -un) "at " $(/bin/date)

# 压缩备份报告
zip -q -j -r $basePath/processReports/report-$(date "+%Y%m%d%H%M").zip $basePath/report

echo "Statistics time [$BEGIN_TIME  $END_TIME)"
echo "Statistics URL $SVN_URL"
echo "SHOW DATA ENTRANCE:$basePath/report/index.html"


if [ $? -eq 0 ]; then
  echo "successed."
else
  echo "failed , please check this script ."
  exit 1
fi

二、将statsvn.jar与StatisticsEntrance.sh归档到svn的同一个目录下

三、创建Jenkins工程及相关配置

1、参数配置

2、配置源代码

 

 3、配置执行脚本进行数据统计

4、配置报告展示

 

 四、构建并查看结果

1、构建操作及查看连接

2、结果展示页面效果

 

 

 

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐