Jenkins 微服务持续集成十二(Spring Cloud 微服务三)

7 篇文章 2 订阅
3 篇文章 0 订阅


一、项目代码上传到 Gitlab

微服务分为前端后端,分别提交到两个 Gitlab 项目。

1. 创建前后端 Gitlab 项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 提交后端代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新定义远程仓库地址,如果有老地址,先删除
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

提交完成后,查看 gitlab

在这里插入图片描述

3. 提交前端代码

  • TortoiseGit-2.13.0.1-64bit.msi(小乌龟)
  • TortoiseGit-LanguagePack-2.13.0.0-64bit-zh_CN.msi(汉化工具)

Windows 本地安装 TortoiseGit(小乌龟)用来提交前端项目代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装中文汉化工具
在这里插入图片描述
在这里插入图片描述

小乌龟修改为中文
在这里插入图片描述

小乌龟 git 打开设置提交远程 URL(前端项目的 URL)

在 windows 本地找到前端项目
在这里插入图片描述
右击选择 Git 同步
在这里插入图片描述
在这里插入图片描述
复制项目地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看前端项目
在这里插入图片描述

二、从 Gitlab 拉取项目源码

1. Jenkins 创建 project

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. 修改原来的 Jenkinsfile 文件

当然也可以删除重建。
这里只演示拉取代码步骤。

//git 的凭证
def git_auth="0b127895-eb97-4f8f-b471-1277e5549b54"
//git 的 URL
def git_url="git@192.168.10.20:test-group/tensquare_back.git"
node {
    stage('pull code') {
        //切换成变量,字符串符号使用双引号
        checkout([$class: 'GitSCM', branches: [[name: "*/${branch}"]], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
    }
}

在这里插入图片描述
在这里插入图片描述

提交 Jenkinsfile 代码
在这里插入图片描述

3. 开始构建

在这里插入图片描述
在这里插入图片描述

在 Jenkins 服务器上查看构建项目

[root@c7-2 ~]#cd /var/lib/jenkins/workspace/
[root@c7-2 /var/lib/jenkins/workspace]#ls
pre_project  tensquare_back  tensquare_back@tmp  web_demo_freestyle  web_demo_freestyle@tmp  web_demo_pipeline  web_demo_pipeline@tmp

三、提交到 SonarQube 代码审查

1. tensquare_back 项目添加一个选择参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 每个项目的根目录下添加 sonar-project.properties

eureka

# 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

zuul

# must be unique in a given SonarQube instance
sonar.projectKey=tensquare_zuul
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=tensquare_zuul
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

admin

# must be unique in a given SonarQube instance
sonar.projectKey=tensquare_admin_service
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=tensquare_admin_service
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

gathering

# must be unique in a given SonarQube instance
sonar.projectKey=tensquare_gathering
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=tensquare_gathering
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

提交。

3. 修改 Jenkinsfile

//git 的凭证
def git_auth="0b127895-eb97-4f8f-b471-1277e5549b54"
//git 的 URL
def git_url="git@192.168.10.20:test-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
           """
        }
    }
}

提交。

4. 构建

在这里插入图片描述
4 个分别构建一遍,查看 sonarqube。

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值