前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CICD】gitlab+jenkins+sonarqube实现自动构建、代码自动检测

【CICD】gitlab+jenkins+sonarqube实现自动构建、代码自动检测

作者头像
伍六七AI编程
发布2022-03-23 14:05:08
9590
发布2022-03-23 14:05:08
举报
文章被收录于专栏:preparedprepared

1 前提条件

1、需要安装gitlab、jenkins、sonarqube;

2、gitlab需要能访问jenkins地址,网络是通的,因为需要通过gitlab推送事件到jenkins机器;

3、gitlab项目,需要有主程序员及以上权限。

2 整体思路

1、当有代码push到代码仓库的时候,gitlab是知道的,gitlab检测到有代码push的时候,执行一个钩子(gitlab上叫hook),可以理解为触发一个推送时间,推送到jenkins;

2、jenkins 检测到这个事件之后,自动构建(不用手动了);

3、jenkins可以配置构建后动作,配置构建后自动执行sonarqube检测。至此,完成自动构建+自动检测的全过程。

3 第一步:配置密钥对

使用jenkins账号邮箱,生成密钥对。

代码语言:javascript
复制
ssh-keygen -t rsa -C "邮箱地址" -b 4096

1、私钥,配置在jenkins 的项目配置中,下面会说配置在哪。

2、公钥,配置在gitlab的个人设置中,菜单:“SSH密钥“,如下图所示。

gitlab配置SSH密钥
gitlab配置SSH密钥

4 配置jenkins和sonarqube

1、在jenkins中创建一个项目;

2、打开“源码管理”,配置gitlab项目ssh地址,配置分支名,如下图2所示。

jenkins源码配置
jenkins源码配置

3、添加账号,类型选择“SSH username with private key“,下面增加上面生成的jenkins私钥。

配置jenkins私钥
配置jenkins私钥

3、设置触发器,选中“Build when a change is pushed to GitLab. GitLab webhook”,记住项目地址(记住1)

记住地址
记住地址

4、选择下面的高级,点击生成,生成secret token,记住这个token(记住2)。

记住token
记住token

5、配置构建后动作——sonarqube扫描

一个例子

代码语言:javascript
复制
sonar.projectKey=project-demo
sonar.projectName=project-demo
sonar.projectVersion=1.0 
sonar.language=java 
sonar.java.binaries=target/classes
sonar.sources=src/main/java
配置sonarqube
配置sonarqube

5 配置gitlab webhook

如下图所示,在项目中,选择设置——》集成——》添加钩子。

填入url和secret token(jenkins配置中的两个记住),取消选中“SSL证书验证“

取消选中SSL验证
取消选中SSL验证

测试,点击 test——》push event

测试推送
测试推送

说明:如果执行测试,出错:Hook executin fail: execution expired,那么有可能是gitlab、和jenkins网络不通。

如果测试通过,会返回:Hook executed successfully: HTTP 200。

说明配置成功。

这会 jenkins 会自动构建,构建好之后,会生成sonarqube检测结果,直接通过jenkins界面访问sonarqube界面即可。

点击即可跳转sonarqube界面
点击即可跳转sonarqube界面

PS:jenkins 配置 sonarqube 的详细过程,各位看官可以自行查找。

参考文章:

1、Create a Continuous Integration Pipeline with GitLab and Jenkins:https://docs.bitnami.com/tuto...

2、jenkins+gitlab实现springboot的自动化部署:https://blog.csdn.net/songguo...

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 前提条件
  • 2 整体思路
  • 3 第一步:配置密钥对
  • 4 配置jenkins和sonarqube
  • 5 配置gitlab webhook
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档