TouK/sputnik

I am china OpDevs. Write Chinese Install and Configured doc

PGDream opened this issue · 1 comments

sputnik 安装
sputnik 介绍地址 http://labs.criteo.com/2015/02/static-code-analysis-do-it-the-right-way/
sputnik git地址 https://github.com/TouK/sputnik
.下载已经打包的sputnik,把sputnik安装到jenkins服务器,如果有slave的也得安装,git地址会有很详细的安装介绍,要注意就是一些配置
.在安装的时候最好根据文档提供的建议目录安装,安装完后在sputnik根目录创建gerrit.properties
.gerrit.properties文件内容可以复制文档提供内容,需要修改的有
connector.type=gerrit 不变
connector.host=your.host.com 填写自己gerrit的host就可以
connector.path=/gerrit 如果没有path就可以配置为空
connector.port=8080 如果端口为80配置可以为空
connector.username=sputnik 用户名和密码是gerrit的用户名和密码,是用code review的用户,密码在用户配置里面有http password生成的密码
connector.password=PassWd

jenkins sputnik 配置
.gerrit trigger-->Trigger on多配置几个选项就是代码push到gerrit层就触发构建
.git--->高级--Refspec 必须要配置为$GERRIT_REFSPEC,不然不会触发构建
.git--->Additional Behaviours--->Strategy for choosing what to build 配置项选Gerrit Trigger
.以上jenkins配置完成后基本可以跑来,但是要使用sputnik自动code review还少些配置,回到github文档复制到Execute Shell里面
/opt/sputnik/bin/sputnik --conf /opt/sputnik/gerrit.properties --changeId $GERRIT_CHANGE_ID --revisionId $GERRIT_PATCHSET_REVISION

可能是gerrit trigger的插件版本的原因,在jenkins里面拿不$GERRIT_CHANGE_ID $GERRIT_PATCHSET_REVISION,我们使用个土办法,就是使用shell命令获取

GERRIT_KEY_WORD=$(git log -1|tail -1)
GERRIT_CHANGE_ID=$(git log -1|tail -1|cut -d " " -f 6)
GERRIT_PATCHSET_REVISION=$(git rev-parse HEAD)
GIT_LOG_KEY_WORD="Change-Id"

if [[ "$GERRIT_KEY_WORD" =~ $GIT_LOG_KEY_WORD ]]; then
    /opt/sputnik/bin/sputnik --conf /opt/sputnik/gerrit.properties --changeId $GERRIT_CHANGE_ID --revisionId $GERRIT_PATCHSET_REVISION
    echo "exit 0 workaround"
fi

配置完以上配置后就能正常的使用sputnik来code review,Execute Shell的添位置顺序也会导致执行顺序的变化

.jenkins打包给gerrit打分需要在gerrit trigger (Jenkins-->Gerrit Trigger)全局配置里面配置 Gerrit Reporting Values(包涵Verify,Code Review)根据实际情况配置好分数
.注意点jenkins连接gerrit和sputnik连接gerrit不能使用同一个帐号,不然打分时会有覆盖的情况发生

.总结在安装和使用sputnik的时候一定要分清楚jenkins打分及sputnik打分,要一步步来实现及测试

Thanks. Can you edit Wiki here and add a new page? https://github.com/TouK/sputnik/wiki