StartSVN+Jenkins实现自动化SVN代码库数据分析

一、将如下内容拷贝入脚本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、结果展示页面效果

 

 

 

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿蜡客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值