持续集成与自动化部署 - jenkins与sonar、gitlab集成 (六)

1 将jenkins和sonar集成

1.1 安装sonar 插件

jenkins上安装sonarqube plugin ,若是没有就安装sonarqube scanner for jenkins这个插件。php

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

1.2 关联sonar 插件

1.2.1 系统设置

设置sonar地址node

系统管理 > 系统设置 > Add SonarQube > sonarqube servers 修改以下:
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)git

1.2.2 全局设置

设置sonar扫描器位置服务器

系统管理 > Global Tool Configuration > SonarQube Scanner > 新增 SonarQube Scanner
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)gitlab

1.2.3 关联项目

选择一个项目 ,配置 > 构建 > Execute SonarQube Scanner >Analysis properties 填写相关参数,保存便可。单元测试

sonar.projectKey=demo
sonar.projectName=demo
sonar.projectVersion=1.0
sonar.sources=/server/tools/sonar-examples-4.5/projects/languages/php/php-sonar-runner-unit-tests
sonar.language=php
sonar.sourceEncoding=UTF-8

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

报错以后,就能够就去构建了。测试

2. 将jenkins Job关联和Pipeline

安装pipeline(作完一件事情,接着作下一件事情。)ui

2.1 安装pipeline

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

2.2 配置pipeline

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)
点击run开始运行,就开始构建了。
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)spa

2.3 关联相关的job

列如代码上线会通过 ,静态代码检查、单元测试、而后部署服务器、服务器重启、进行ui测试等。插件

选择第一个要执行的job
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)
构建后操做,选择 Trigger parameterized build on other projects
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

添加pipeline

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

3. Jenkins与gitlab集成(Webhook)

3.1 jenkins安装gitlab hook

gitlab Hook Plugin gitlab 钩子
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)
Build Authorization Token Root Plugin 安装令牌插件
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

3.2 jenkins配置gitlab钩子

注:jenkins须要使用令牌

[www@test-node3 ~]$ openssl rand -hex 10
c6116ac353aca741f315

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

http://10.0.0.203:8080/project/auto-deploy

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

3.3 gitlab配置钩子

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)

持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六)
添加完成以后,能够点击test 来测试。
持续集成与自动化部署 -  jenkins与sonar、gitlab集成 (六) 此时我去提交代码而后,git push ,后面会进行 代码质量检查,而后进行部署。

相关文章
相关标签/搜索