1. 程式人生 > 其它 >Jenkins+Docker+SpringCloud微服務持續整合(三)

Jenkins+Docker+SpringCloud微服務持續整合(三)

連結:https://pan.baidu.com/s/1HR3Q-cojnCidRy1xrdlOxg
提取碼:7m56
--來自百度網盤超級會員V3的分享

微服務持續整合(1)-專案程式碼上傳到Gitlab
在IDEA操作即可,參考之前的步驟。包括後臺微服務和前端web網站程式碼


先做後端提交
後端專案先提交給本地git


新定義遠端倉庫地址

複製gitlab中tensquare_back專案中http的URL

提交完成後,檢視gitlab

Windows本地安裝TortoiseGit(小烏龜)用來提交前端專案程式碼

安裝中文漢化包

右擊小烏龜git開啟設定提交遠端URL(前端專案的URL)

檢視gitlab的tensquare_front專案

微服務持續整合(2)-從Gitlab拉取專案原始碼
1)建立Jenkinsfile檔案

Jenkinsfile中的內容

點選檢視程式碼
//git的憑證
def git_auth="1be38991-873b-4a68-8eb6-312347fdc0a4"
//git的URL
def git_url="[email protected]:devops_group/tensquare_back.git"
node {
    stage('pull code') {
        //切換成變數,字串符號使用雙引號
        checkout([$class: 'GitSCM', branches: [[name: "*/${branch}"]], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
    }
}

在Jenkins伺服器上檢視構建專案

微服務持續整合(3)-提交到SonarQube程式碼審查
1)建立專案,並設定引數
建立tensquare_back專案,新增一個選擇引數

每個專案的根目錄下新增sonar-project.properties

點選檢視程式碼
# must be unique in a given SonarQube instance
sonar.projectKey=tensquare_eureka_server
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=tensquare_eureka_server 
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set. sonar.sources=. 
sonar.exclusions=**/test/**,**/target/** 
sonar.java.binaries=.
sonar.java.source=1.8 
sonar.java.target=1.8 

#sonar.java.libraries=**/target/classes/**
# Encoding of the source code. Default is default system encoding 
sonar.sourceEncoding=UTF-8

注意:修改sonar.projectKey和sonar.projectName

3)修改Jenkinsfile構建指令碼

點選檢視程式碼
//git的憑證
def git_auth="1be38991-873b-4a68-8eb6-312347fdc0a4"
//git的URL
def git_url="[email protected]:devops_group/tensquare_back.git"
node {
    stage('pull code') {
        //切換成變數,字串符號使用雙引號
        checkout([$class: 'GitSCM', branches: [[name: "*/${branch}"]], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
    }
    stage('check code') {
            //定義SonarQubeScanner工具
            def scannerHome = tool 'sonar-scanner'
            //引用SonarQube系統環境
            withSonarQubeEnv('sonarqube') {
            sh """
                cd ${project_name}
                ${scannerHome}/bin/sonar-scanner
               """
               }
    }
}

再次構建進行程式碼檢查

檢查結果

隨後把服務閘道器、認證中心和活動微服務都進行檢查