Devops 开发运维高级篇之微服务持续集成代码上传和代码检查

简介: 微服务持续集成(1)-项目代码上传到Gitlab微服务持续集成(2)-从Gitlab拉取项目源码微服务持续集成(3)-提交到SonarQube代码审查

微服务持续集(1)-项目代码上传到Gitlab


现在gitlab创建两个项目:


2387773-20220225170257087-2070268992.png

2387773-20220225170300934-2054159954.png

 


 

然后先做后端提交

后端项目先提交到本地git

2387773-20220225170341412-1079524001.png2387773-20220225170354108-1575723460.png

 

然后新定义远程仓库地址:

2387773-20220225170418711-127045897.png2387773-20220225170434439-1568306605.png

 

 

复制gitlabtensquare_back项目中httpURL

2387773-20220225170553427-145406535.png

 

提交完查看gitlab:

2387773-20220225170639403-1888438099.png

 

 

然后再做下一步:


Windows本地安装TortoiseGit(小乌龟)用来提交前端项目代码


2387773-20220225170745993-1933345330.png

 

 

 

2387773-20220225170750624-1270731720.png

 

都是默认下一步:

然后打开项目目录:右击设置:

2387773-20220225170942777-769445299.png

 

 

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

2387773-20220225171032428-154331111.png


 

 

确定后就push


 

2387773-20220225171131456-1219944536.png2387773-20220225171153009-2080159871.png

 

然后查看gitlab的tensquare_front1项目,刷新看一下。

 

 

 

 

微服务持续集(2)-Gitlab拉取项目源码

 

在jenkins里创建一个任务

2387773-20220225171313395-1373179835.png

 2387773-20220225171522117-1274261345.png

 

 

然后就是创建jenkinsfile文件:

 

2387773-20220225171553272-1573305296.png

2387773-20220225171719364-77333164.png

写完记得push!

 

2387773-20220225171834961-4718153.png

 

 

然后开始构建,在jenkins服务器上查看构建项目:


 

 

2387773-20220225172052343-1869868274.png

2387773-20220225172106362-1915115772.png

 


微服务持续集成(3)-提交到SonarQube代码审查


1) 创建项目,并设置参数


创建tensquare_back项目,添加一个选择参数

2387773-20220225172145364-1823642515.png2387773-20220225172233788-826406724.png

 

 

2)每个项目的根目录下添加sonar-project.properties 我这个都有了

主要就是查看是否一致:

sonar.projectKey和sonar.projectName


3)修改Jenkinsfile构建脚本


//git的凭证
def git_auth="d5bb0e98-15f2-477f-8db7-2c33ecc6c644"
//git的URL
def git_url="git@20.0.0.20:root/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
                             """
                        }
    }
}


2387773-20220225172554423-1699894538.png

 

 

 

然后提交

去构建:

2387773-20220225172627366-1946542982.png

 

全部构建后,去sonarqube刷新看一下!

2387773-20220225172706108-2110919088.png

 



相关文章
|
6月前
|
人工智能 自然语言处理 安全
代码静态扫描工具集成与实践
代码静态扫描工具(Static Application Security Testing, SAST)是在不运行代码的情况下,通过分析源代码或二进制代码来发现潜在安全漏洞、代码缺陷和质量问题的工具
771 4
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
166 2
|
6月前
|
编解码 算法 自动驾驶
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
577 125
|
7月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
232 0
|
8月前
|
安全 API 数据安全/隐私保护
低代码革命:API无代码集成如何让企业“3天上线一个生态”?
在数字化转型浪潮中,API成为释放数据价值、提升企业效率的核心。本文详解API架构设计、安全实践与跨平台集成,为CTO提供效率提升指南,涵盖微服务、安全认证、协议选择、低代码集成及未来趋势,助力企业构建敏捷、安全、高效的数字生态。
|
9月前
|
人工智能 OLAP 数据处理
解锁数仓内AI流水线,AnalyticDB Ray基于多模ETL+ML提效开发与运维
AnalyticDB Ray 是AnalyticDB MySQL 推出的全托管Ray服务,基于开源 Ray 的丰富生态,经过多模态处理、具身智能、搜索推荐、金融风控等场景的锤炼,对Ray内核和服务能力进行了全栈增强。
|
8月前
|
SQL 运维 自然语言处理
Dataphin智能化重磅升级!编码难题一扫光,开发运维更高效!
Dataphin重磅推出三大核心智能化能力:智能代码助手提升SQL开发效率;智能运维助手实现移动化任务管理;智能分析通过自然语言生成SQL,助力数据价值释放。未来将持续开放智能ETL、安全助手等能力,助力企业构建高效、稳定的数据资产体系。
641 0
|
6月前
|
机器学习/深度学习 数据采集 传感器
基于多尺度集成极限学习机回归(Matlab代码实现)
基于多尺度集成极限学习机回归(Matlab代码实现)
175 1
|
6月前
|
机器学习/深度学习 运维 算法
【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
192 1
|
8月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。