前面的文章我们已经完成了所有的基础组件,下面我们就来开始测试整个job流程。
1)gitlab创建项目
首先我们在gitlab上创建一个项目,示例如下:
然后我们使用git工具把项目拉取到本地:
2)编写测试项目
这里我们需要准备一个测试的项目,例如这里我使用的是mybatis plus的一个demo项目,示例如下:
3)创建ci
接着这里就是重点了,我们在项目的根目录下创建一个名称为.gitlab-ci.yml的文件,注意这里是以.为开通的文件,示例如下:
然后我们把下面的内容粘贴进去:
#定义 stages(阶段),任务根据这里的顺序执行 stages: - sonarqube_scan # 定义job(任务),多个任务分开定义 sonarqube_scan_job: #阶段,取自开始的stages stage: sonarqube_scan #定义该job执行的脚本 script: - sonar-scanner -Dsonar.projectName=$CI_PROJECT_NAME -Dsonar.projectKey=$CI_PROJECT_NAME -Dsonar.language=java -Dsonar.java.binaries=. -Dsonar.host.url=http://172.19.0.8:9000 -Dsonar.login=admin -Dsonar.password=admin123 #标签,只有这个标签的runner才会执行任务;在gilab-runner注册时填写的tag-list tags: - CodeRunner when: always #只有指定的分支提交才会执行 only: - main
这里要根据警号的注释修改成实际的信息,但是主要改的还是:
1、sonarinfo,这里主要填写的是sonar的地址,账号和密码信息。 2、tags,这里需要与前面创建的tag保持一致。 3、only,确定在哪个分支上进行检测。
最后的示例效果如下:
4)提交代码
接下来我们就把这里的代码提交到gitlab上去,提交之后,可以自动在jobs栏里面看到有检测的job正在运行:
运行完毕之后,我们去sonarqube界面上就可以看到检测结果了。
备注:
1、当前面的基础环境都配置好之后,只需要在每一个项目里面添加.gitlab-ci.yml就可以了。具体内容根据实际情况而定。 2、主要配置的分支有任何提交,就会自动触发CI/CD的代码扫描,所以这里都是全自动化的。
还没有评论,来说两句吧...