Sonarqube 扫描shell脚本

        记录保存一波,以后就不用重复写。这是我目前用的shell脚本,根据不同的项目,不同分支,以及对项目下的指定目录执行扫描,便于设置crontab定时任务。

#!/bin/bash
sys=$1
branch=$2
if [ -n $3 ];
then
  scan_path=$3
else
  scan_path=.  
fi

echo "系统简称:" $sys
echo "扫描分支:" $branch
echo "扫描路径:" $scan_path

basedir=/home/admin/repo/${sys}/$scan_path

echo "切换到目录:" ${basedir}
cd ${basedir}

local_branch_name=`echo $branch | awk -F/ '{print $NF}'`
echo "本地分支名:" $local_branch_name

echo "切换到分支:" $branch
git checkout $branch


echo "拉取分支代码:" $branch
git pull origin $local_branch_name

/home/admin/sonar-scanner-4.0.0.1744-linux/bin/sonar-scanner -Dsonar.projectKey=${sys}  -Dsonar.host.url=http://10.7.12.61:9000   -Dsonar.login=79e583f26fdb19409969c0f2859699d8787297ff -Dsonar.java.binaries=${basedir} -Dsonar.sourceEncoding=UTF-8

echo `date +%Y%m%d_%H%M%S` ":" $sys $branch $scan_path >> /home/admin/logs/sonar_scan_record.log

在家目录下有个本地代码仓库--/home/admin/repo,用于存放git pull下来的项目。

项目名称用作脚本的第一个参数系统简称--'sys', 

git分支用作脚本的第二个参数系统简称--'branch', 

项目指定目录作脚本的第三个参数扫描路径--'scan_path' ,为可选参数,不填就扫描项目下所有文件

# 实例一:
# 扫描apph5项目,分支为sit-new,扫描所有文件
/home/admin/bin/sonar_scan.sh apph5 sit-new

# 实例二:
# 扫描apph5项目,分支为sit-new, 扫描项目下制定目录WEB-INF
/home/admin/bin/sonar_scan.sh apph5 sit-new WEB-INF

最后记录下sonar扫描ce内存溢出,优化的配置项

# 文件sonar.properties

sonar.jdbc.username=yourusername
sonar.jdbc.password=yourdbpass
sonar.jdbc.url=jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521/orcl
sonar.web.port=9000
sonar.ce.javaOpts=-Xmx3G -Xms2G -XX:+HeapDumpOnOutOfMemoryError
sonar.log.level=INFO

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值