- 配置gitlab自动触发jenkins构建(这里每个处室项目会提前配好不用动)这里以我新建一个jenkins流水线javacode-jenkins-sonar(顾名思义这里以Java代码为测试对象演示后面操作)为例,任务名称自定义,方便自己识别即可,我这里已经创建好了所以会提示已存在(如果是已有流水线直接忽略这一步)。如图1-1
该流水线中配置构建触发器,如下图
在下图选择“高级”,配置流水线的访问令牌
以上生成的流水线url和令牌用来配置到gitlab中,打开gitlab中需要触发到jenkins自动构建的项目,选择页面左侧栏的“设置-Webhooks”
将jenkins流水线生成的url地址和令牌添加到以下选项中,然后点击最下方的”add webhook”
到此,gitlab和jenkins的自动触发配置已完成,测试一下,点击该页面最下面测试选项,选择“push events”
页面有如下新状态显示,说明验证正常,可以进行下面的自动构建操作了
- Jenkins流水线配置
打开前面创建好的流水线javacode-jenkins-sonar继续进行“配置”
这里以我写的一个流水线例子为准,详细介绍下jenkins如何获取本地上传的代码和如何扫描结果传输到sonar平台显示并分析
该流水线执行一共分为四个阶段:
1拉取代码
1.1这里主要将要扫描的静态代码先拉取到jenkins,相关参数配置正确,如果对格式不太熟悉可以参考流水线语法,如下图
1.2将最后生成的流水线脚本复制粘贴到拉取代码步骤下。
2.打包代码
2.1这里主要是将代码中需要用到的第三方依赖jar包(需要的jar包会在代码对应的配置文件中指定,与代码一起上传)进行获取,然后将代码、配置文件、jar包一起打包生成sonar需要的分析报告。
2.2此步骤中的编写格式可以参照下图
2.3这里的打包代码阶段仅针对java代码而言,如果是对其他语言代码(python、go、javascript等)进行扫描分析,这个阶段不用编写。