关于CI/CD的实践(二 提交阶段流水线)

提交阶段流水线

触发点:git上对应分支有代码commit,触发jenkins启动本次流水线

需要实现的目标

  • Jenkins上进行构建
  • Jenkins+Sonarqube进行质量扫描
  • 将本次Jenkins上的执行状态反馈到git上
  • 将Sonarqube质量扫描的结果以邮件发送状态到负责人(项目全员)

前提条件:已经安装jenkins 、 gitlab 和 Sonarqube。

一、Jenkins与GitLab集成

  • jenkins 与 gitlab 集成的作用:gitlab有代码进行提交时能触发Jenkins的任务。Jenkins的任务执行后的结果能反馈到gitlab上。
  • jenkins 与 gitlab 集成的方式:以api token方式互通,以Webhook方式触发

1. 登录gitlab,获取api token

点击用户头像-Settings-Access Tokens(建议登录一个对所有仓库都有拉代码权限的账户)

往下翻到Create personal access token,点击创建token:

复制好token值,保存好,稍后用于Jenkins上:

2. 登录Jenkins,配置api token

系统管理-系统配置
点击后,往下翻到Gitlab进行配置:

先添加刚刚的token:

3. 登录jenkins,添加任务




http://jenkins.vonedao.com/project/sonarqube-vonedao-tenant-business保存下这个路径
选择你需要的规则:

选择高级,创建token,用于提供给gitlab对应的仓库进行webhook触发时使用:



复制这个token,保持下来,等会需要粘贴到gitlab上去。
pom.xml文件要写对路径,去问开发或者自己看下源代码:

下面这个配置主要是用于给git进行反馈Jenkins这个任务的最后结果

4. 登录gitlab,配置webhook地址

以vonedao-tenant-business仓库为例,打开仓库后,找到Settings,选择Integrations

将Jenkins上添加sonarqube-vonedao-tenant-business任务时保存下来的地址和token粘贴到gitlab上vonedao-tenant-business仓库的webhook配置,如图:

5. Jenkins与GitLab集成验证:

点击Push events,进行模拟代码提交的动作,测试触发Jenkins的动作。我们登录到Jenkins上,可以看到,已经自动触发了任务:

等一会后,Jenkins上完成了本次任务:
登录到gitlab上看看Jenkins的反馈情况:

二、Jenkins与Sonarqube集成

待补充

三、Jenkins邮件发送

待补充

posted @ 2021-03-05 10:45  邹姣姣  阅读(403)  评论(0编辑  收藏  举报