Linux部署sonarqube+Gogs+Jenkins(二)

敲代码敲到头发茂密 2024-06-13 11:37:18 阅读 70

在这里插入图片描述


Linux部署sonarqube+Gogs+Jenkins

一、Jenkins执行任务1、使用源码管理拉取代码-操作步骤第一步:确认环境,进入到Jenkins【系统管理】—>【全局工具配置】—>【Git】为下图显示;第二步:构建项目时对项目的源码管理选择 Git第三步:输入你仓库的SSH地址或者https地址,并且添加gitee的用户名和密码,一定要手动选择。第四步:保存项目点击【立即构建】并到工作空间运行后查看效果。 2、jenkins构建执行代码方法1:创建虚拟环境并且激活方法2:服务器中提前创建好虚拟环境 3、allure安装使用4、Jenkins通过机器人发送构建信息5、Jenkins通过邮件发送Allure报告 二、gogs和Git应用1、gogs仓库把本地代码提交进来 三、SonarQube的应用1、SonarQube工具介绍2、SonarQube环境安装3、Jenkins操作步骤第一步:Jenkins安装扫描器的插件: SonarQube Scanner ,下载好了最好重启一下Jenkins第二步:进入到Jenkins【系统管理】—>【全局工具配置(Global Tool Configuration)】为下图显第三步:配置对应的凭证信息第四步:进入到【开发项目】—>构建—>Execute SonarQube Scanne 4、遇到的问题 四、持续集成持续交付整个流程

一、Jenkins执行任务

1、使用源码管理拉取代码-操作步骤

第一步:确认环境,进入到Jenkins【系统管理】—>【全局工具配置】—>【Git】为下图显示;

在这里插入图片描述

如果是windows系统,显示的是git.exe

如果是云服务器,显示的是git

第二步:构建项目时对项目的源码管理选择 Git

在这里插入图片描述

第三步:输入你仓库的SSH地址或者https地址,并且添加gitee的用户名和密码,一定要手动选择。

在这里插入图片描述

在这里插入图片描述

第四步:保存项目点击【立即构建】并到工作空间运行后查看效果。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

当执行构建后构建没有失败并且工作空间中代码拉取成功,说明配置源码管理和凭证没有问题。

2、jenkins构建执行代码

方法1:创建虚拟环境并且激活

步骤:

1、创建一个虚拟环境

python3 -m venv 虚拟环境名称

2、激活虚拟环境

source 虚拟环境名称/bin/activate

3、就要在环境下安装依赖包

安装对应的第三方库: pip freeze > requirements.txt

pip install -r requirements.txt

4、执行运行文件

python3 主文件

方法2:服务器中提前创建好虚拟环境

在这里插入图片描述

在这里插入图片描述

3、allure安装使用

通过Jenkins生成Allure报告并且能够通过机器人或者邮件的发送Allure报告。通过能够通过Sonar插件实现静态代码扫描。

1.下载插件: Allure Jenkins Plugin

2.GlobalTool Configuration–确定版本正确-最好和本地统一

在这里插入图片描述

3:【重点:决定你的HTML是否有数据】通过如上操作,则会生成对应的allure的测试数据至result ;然后你需要要生成测试报告,你需要告诉Jenkins数据在哪?在配置构建后操作allure-report 中的 Path 输入 result 。

注:allure是你的运行文件当中制定的目录。

在这里插入图片描述

在这里插入图片描述

第四步:进行构建,这时候可能在控制台会比较慢,这是正常的,耐心等待。

4、Jenkins通过机器人发送构建信息

第一步:创建一个企业微信群,并且添加一个机器人,并且复制它的Webhook地址。

第二步:在系统管理(Manage Jenkins)—> 插件管理(Manage Plugins)—> Qy Wechat Notification

第三步:系统管理(Manage Jenkins)—> 系统配置(Configure System)—>企业微信通知

第四步:项目(API_Test)—>配置—>构建后操作—>增加构建后操作步骤—>企业微信通知

注意:在这个页面当中不需要添加对应的数据,因为在上一个系统配置当中配置。但是可以配置@对应

的人或者手机号,比如@all。

5、Jenkins通过邮件发送Allure报告

Jenkins可以发送email,每次执行完测试用例之后,我们就可以不需要来访问Jenkins来查看情况了。

详细操作查看博客

https://blog.csdn.net/YZL40514131/article/details/130158401

<h1><center><font>以下是Jenkins自动发送的邮件,请勿回复!</font><center></h1><h3><center><font color="red">allure报告在线查看or下载allurereport.zip用firefox离线查看,测试用例见附件</font><center></h3><br><hr><br>项目描述:${ JOB_DESCRIPTION}<br><hr>项目名称:$PROJECT_NAME<br>构建编号:$BUILD_NUMBER<br>构建状态:$BUILD_STATUS<br>触发原因:${ CAUSE}<br>构建地址:<A HREF="${BUILD_URL}">${ BUILD_URL}</A><br>构建日志地址:<A HREF="${BUILD_URL}console">${ BUILD_URL}console</A><br>系统allure测试报告:<A HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${ PROJECT_URL}${ BUILD_NUMBER}/allure</A><br><hr>${ JELLY_SCRIPT}

注:上面的 $变量名 是引用对应的变量,可以在:构建—>可用环境变量列表中查看。

二、gogs和Git应用

1、gogs仓库把本地代码提交进来

在这里插入图片描述

C:\Users\Lenovo\Desktop\0329>git clone http://114.115.130.103:3000/zhilong/apiTest_Linux.gitC:\Users\Lenovo\Desktop\0329\apiTest_Linux>git statusOn branch masterNo commits yetUntracked files: (use "git add <file>..." to include in what will be committed) __init__.py __pycache__/ api_keyword/ config.py conftest.py log/ mian_run.py pytest.ini report_allure/ requirements.txt result/ testcase/C:\Users\Lenovo\Desktop\0329\apiTest_Linux>git add .C:\Users\Lenovo\Desktop\0329\apiTest_Linux>git commit -m '提交代码'C:\Users\Lenovo\Desktop\0329\apiTest_Linux>git pull origin masterfatal: couldn't find remote ref masterC:\Users\Lenovo\Desktop\0329\apiTest_Linux>git push origin masterEnumerating objects: 73, done.Counting objects: 100% (73/73), done.Delta compression using up to 16 threadsCompressing objects: 100% (62/62), done.Writing objects: 100% (73/73), 953.57 KiB | 8.75 MiB/s, done.Total 73 (delta 9), reused 0 (delta 0), pack-reused 0To http://114.115.130.103:3000/zhilong/apiTest_Linux.git * [new branch] master -> master

在这里插入图片描述

三、SonarQube的应用

当我们开发的代码结合Jenkins之后,对应的代码也会存在对应的工作空间当中,这时候我们可以利用工具对代码进行静态代码扫描来析或检查源程序的语法、结构、过程、接口等来检查程序的正确性

在这里插入图片描述

1、SonarQube工具介绍

提交代码—通过Sonarqube进行扫描(前置条件:jdk必须是11)

SonarQube属于静态测试和动态测试中的静态测试

白盒测试和黑盒测试中的白盒测试

SonarQube分为:

介绍SonarQube工具:(分为两个模块)

1.分析器(Web页面,是一个可视化的平台)——SonarQube

2.扫描器(工具–对代码进行扫描之后提交到分析器上去)——SonarScanner

2、SonarQube环境安装

注意:1、sonar不能用root账号,所以就存在新建账号,并且赋权限操作

2、sonar是一个zip文件,需要安装unzip,apt-get install zip

3、Jenkins操作步骤

部署好后期的操作:非常重要,尤其是第三步和第四步,一定要检查一下数据。

设置对应的中文格式设置对应的凭证信息(一定要记得选择)

第一步:Jenkins安装扫描器的插件: SonarQube Scanner ,下载好了最好重启一下Jenkins

在这里插入图片描述

第二步:进入到Jenkins【系统管理】—>【全局工具配置(Global Tool Configuration)】为下图显

示,添加信息如下:

配置如下:SonarScanner for MSBuild

配置如下:SonarQube Scanner

在这里插入图片描述

在这里插入图片描述

第三步:配置对应的凭证信息

A. 进入到Jenkins【系统管理】—>【配置】—> SonarQube servers

Name:随意命名,英文

Server URL:对应SonarQube的地址

Server authorizatication token:添加对应的凭证,从sonarqube中获取

在这里插入图片描述

B. 进入到Sonar页面获取对应的令牌信息

在这里插入图片描述

在这里插入图片描述

C. 回到Jenkins页面添加凭证(一定要记得选择!!!)

在这里插入图片描述

在这里插入图片描述

注意:生成的 sonar 凭证 进可以看见一次,所以千万记得保存,别到时候又不见了.

第四步:进入到【开发项目】—>构建—>Execute SonarQube Scanne

输入:sonar.projectKey=sonar-${JOB_NAME}-${BUILD_NUMBER}

【注意构建的顺序:比如部署构建的代码要在扫描之后】

在这里插入图片描述

运行结果:

在这里插入图片描述

4、遇到的问题

在这里插入图片描述

原因是代码log目录冲突,将log目录名称修改为其他即可

四、持续集成持续交付整个流程

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。