持續集成與自動化部署 - 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 ,後面會進行 代碼質量檢查,而後進行部署。

相關文章
相關標籤/搜索