前言
公司代码使用GitLab之后,管理代码经常有两个人提交然后导致线上代码编译无法通过的情况。所以集成sonal进行代码质量管理,代码提交之后会对代码进行一个检测,有错误的话会通过邮件提醒。
正文
集成方式
主要通过Gitlab CI进行集成,通过执行maven命令,编译项目,最终将编译结果推送到Sonar平台,生产最终结果报告。
GitLab CI/CD介绍
首先使用一张图说明GitLab CI的工作流程:
GitLab CI是 GitLab 提供的持续集成服务,只要在你的仓库根目录 创建一个.gitlab-ci.yml 文件, 并为该项目指派一个Runner,当有合并请求或者 push的时候就会触发build。
这个.gitlab-ci.yml 文件定义GitLab runner要做哪些操作。 默认有3个[stages(阶段)]: build、test、deploy。当build完成后(返回非零值),你会看到push的 commit或者合并请求前面出现一个绿色的对号。 这个功能很方便的让你检查出来合并请求是否会导致build失败, 免的你去检查代码。
大部分项目用GitLab’s CI服务跑build测试, 开发者会很快得到反馈,知道自己是否写出了BUG。
所以简单的说,要让CI工作可总结为以下几点:
- 项目为maven项目
- 在仓库根目录创建一个名为.gitlab-ci.yml 的文件
- 为该项目配置一个Runner
完成上面的步骤后,每次push代码到Git仓库, Runner就会自动开始pipelin
.gitlab-ci.yml配置项参考
1 | # 本次构建的阶段:build package |