jenkins+sonarQube+gitlab持续集成指南

本指南实现效果为:
在这里插入图片描述

jenkins+sonarQube+gitlab持续集成指南

  • 一、jenkins如何新建一个持续检查和集成的任务?
    • 1.1、先新建一个构建自由风格的软件项目任务
    • 1.2、配置项目git地址信息
    • 1.3、配置git超时时间
    • 1.3、构建触发器
    • 1.4、构建行为配置之Execute SonarQube Scanner配置
    • 1.5、构建行为配置之shell命令
  • 二、gitlab的钩子配置

一、jenkins如何新建一个持续检查和集成的任务?

本指南的jenkins的gitlab和sonar插件配置已经配好,这里不再赘述,详细可以自行看jenkins的系统设置或参考博客http://blog.51cto.com/damaicha/2118766

1.1、先新建一个构建自由风格的软件项目任务

jenkins+sonarQube+gitlab持续集成指南_第1张图片
jenkins+sonarQube+gitlab持续集成指南_第2张图片

1.2、配置项目git地址信息

jenkins+sonarQube+gitlab持续集成指南_第3张图片

1.3、配置git超时时间

因为服务器的代码拉取速度不是很快,而且项目的代码大小可能过大,所以需要在这里配置下git的超时时间,尽量长点。。。

jenkins+sonarQube+gitlab持续集成指南_第4张图片
jenkins+sonarQube+gitlab持续集成指南_第5张图片

1.3、构建触发器

因为jenkins需要感知gitlab的提交操作进行代码检测或者部署等操作,所以需要构建对应的触发器。
jenkins+sonarQube+gitlab持续集成指南_第6张图片

身份验证令牌自行生成一个:openssl rand -hex 10
这个可以看下方的信息知道这是用来钩gitlab的钩子(或者说钥匙)
下方勾选GitHub hook trigger for GITScm polling的意思是采用轮询的方式检测到源码的push操作触发构建。
老版本的jenkins也可以勾选这个,当gitlab的代码变动的时候出发构建,上下两种具有同样的效果。
jenkins+sonarQube+gitlab持续集成指南_第7张图片

1.4、构建行为配置之Execute SonarQube Scanner配置

jenkins+sonarQube+gitlab持续集成指南_第8张图片
其中Analysis properties填写:

sonar.projectKey=quick #项目key
sonar.projectName=quick #项目名称
sonar.projectVersion=1.0 #项目版本
sonar.language=java #项目语言
sonar.sourceEncoding=UTF-8 #编码
sonar.sources=./ #检查过滤代码
sonar.java.binaries=/var/lib/jenkins/workspace/quick1.0/ #检测的代码位置

一般web项目扫描配置(如果在sonar没有安装web扫描插件的话会报错并让你安装)
#required metadata
#projectKey项目的唯一标识,不能重复
sonar.forceAuthentication=false
sonar.login=saq
sonar.password=000000
sonar.projectKey=testuser
sonar.projectName=testuser
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.modules=java-module,javascript-module,html-module
#Java module
java-module.sonar.projectName=Java Module
java-module.sonar.language=java
#.表示projectBaseDir指定的目录
java-module.sonar.sources=.
java-module.sonar.projectBaseDir=src/main/java
sonar.binaries=classes

#JavaScript module
javascript-module.sonar.projectName=JavaScript Module
javascript-module.sonar.language=js
javascript-module.sonar.sources=js
javascript-module.sonar.projectBaseDir=src/main/webapp

#Html module
html-module.sonar.projectName=Html Module
html-module.sonar.language=web
html-module.sonar.sources=pages
html-module.sonar.projectBaseDir=src/main/webapp

这相当于编写了sonar-project.properties配置。

1.5、构建行为配置之shell命令

增加shell构建步骤
命令大概是根据目录打包项目并发布
自行百度。。。这里不详解

二、gitlab的钩子配置

进入需要配置项目的管理页面,设置,集成
jenkins+sonarQube+gitlab持续集成指南_第9张图片
弹出页面只需要配置url就够了
例子:http://{giturl}/jenkins/buildByToken/build?job={jobname}&token={token}

需要配置的就是job名称和token的值(1.3步的那个token)

jenkins+sonarQube+gitlab持续集成指南_第10张图片

配置完点这个可以测试一下,可以看到jenkins的任务开始构建啦!

jenkins+sonarQube+gitlab持续集成指南_第11张图片

完~

你可能感兴趣的:(实用Jenkins,jenkins,gitlab)