微服务持续集成之 代码上传,拉取,和代码审查
作者:互联网
微服务持续集成之 代码上传,拉取,和代码审查
目录一:后端代码上传gitlab
登录gitlab,新建两个项目,一个tensquare_font用于前端,一个tensquare_back用于后端
进入idea的后端项目,将整个后端项目提交到本地
选择整个项目,右击--->Git--->Repository--->Remotes
在弹出的对话框,如果有远程地址,则点击 减号- ,先删除,然后在点击 + 加号,添加新的仓库地址
仓库地址的URL,为gitlab上,后端项目的http 方式的url地址
然后,在将后端项目推送到gitlab上
可以在gitlab上的后端项目查看到我们刚才推送的项目
二:windows本地安装TortoiseGit 提交前端代码
链接:https://pan.baidu.com/s/1Dg2lGS1lR_3wkMN_hFGobw?pwd=x8pt
提取码:x8pt
TortoiseGit为安装包,TortoiseGit-LanguagePack 为语言包
安装TortoiseGit,安装时,全部默认即可
安装完毕后,跳出对话框,要我们选择语言。此时只有English,所以,我们先点击取消
安装中文包,还是全部默认
找到前端的项目文件夹右击,---->TortoiseGit---->设置
远端-->配置远端gitlab仓库的名字,和URL(URL为gitlab上,前端项目的http方式的url)
配置好远端仓库后,再次右击前端项目---->TortoiseGit--->推送
确认推送的远端仓库,无误后点击确认
输入gitlab的用户名和密码
点击项目,右击---->Git 提交到master
右击项目,-->TortoiseGit-->推送 ,将本地的项目推送到gitlab上
在gitlab的前端项目tensquare_font,已经可以看到我们推送的前端项目了
三:从gitlab拉取源代码
在Jenkins新建一个项目,项目名tensquare_back,选择pipeline的方式
选择参数化构建This project is parameterized --->ADD--->String Parameter
Name: branch
Default Value: master
Description: 请输入分支
使用scm方式
在idea里编写Dockerfile文件(如果原来有,修改或删除),并提交
//定义git凭证
def git_url="git@192.168.23.201:my_group/tensquare_back.git"
//定义git的url
def git_auth="fc529390-8711-4c3a-894e-fd77845bf5e4"
node {
stage('pull code'){
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
}
}
在Jenkins上,构建后端项目
拉取代码,构建成功,并且可以在Jenkins服务器器上查看到项目
在/var/lib/jenkins/workspace目录下,可以看到项目目录tensquare_back
四,提交到SonarQube 代码审查
修改tensquare_back项目,添加选择参数
This project is parameterized--->Add Parameter--->Choice Parameter ?
填写参数名和参数可选项
project_name: projeckt_name
Choise: tensquare_eureka_server
tensquare_zuul
tensquare_admin_service
tensquare_gathering
Description: 注册中心
服务网关
认证中心
活动微服务
在idea 的 每个项目(除了common工具) 的项根目录下,添加sonar-project.properties文件名不要写错名字不要写错。
eureka 项目的如下。 每个项目要注意修改 projeckKey 和 projectName,修改为和每个项目一样
# 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
修改Jenkinsfile 构建脚本添加代码检查步骤
//定义git凭证
def git_url="git@192.168.23.201:my_group/tensquare_back.git"
//定义git的url
def git_auth="fc529390-8711-4c3a-894e-fd77845bf5e4"
node {
stage('pull code'){
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
}
stage('check code'){
//定义SonarQubeScanner工具,要和Jenkins的全局工具配置里的一致
def scannerHome = tool 'sonar-scanner'
//引用SonarQube系统环境
withSonarQubeEnv('sonarqube') {
sh """
cd ${project_name}
${scannerHome}/bin/sonar-scanner
"""
}
}
}
将更改后的sonar-project。properities和Jenkinsfile 进行提交
构建后,多了 检查代码 步骤
四个服务都构建后,登录sonarqube 服务器查看
标签:git,项目,url,代码,gitlab,拉取,tensquare,sonar,上传 来源: https://www.cnblogs.com/zhijiyiyu/p/15959331.html