Linux部署sonarqube+Gogs+Jenkins
- 一、Jenkins执行任务
-
- 1、使用源码管理拉取代码-操作步骤
-
- 第一步:确认环境,进入到Jenkins【系统管理】--->【全局工具配置】--->【Git】为下图显示;
- [第二步:构建项目时对项目的源码管理选择 Git](#第二步:构建项目时对项目的源码管理选择 Git)
- 第三步:输入你仓库的SSH地址或者https地址,并且添加gitee的用户名和密码,一定要手动选择。
- 第四步:保存项目点击【立即构建】并到工作空间运行后查看效果。
- 2、jenkins构建执行代码
- 3、allure安装使用
- 4、Jenkins通过机器人发送构建信息
- 5、Jenkins通过邮件发送Allure报告
- 二、gogs和Git应用
- 三、SonarQube的应用
-
- 1、SonarQube工具介绍
- 2、SonarQube环境安装
- 3、Jenkins操作步骤
-
- [第一步:Jenkins安装扫描器的插件: SonarQube Scanner ,下载好了最好重启一下Jenkins](#第一步:Jenkins安装扫描器的插件: SonarQube Scanner ,下载好了最好重启一下Jenkins)
- [第二步:进入到Jenkins【系统管理】--->【全局工具配置(Global Tool Configuration)】为下图显](#第二步:进入到Jenkins【系统管理】—>【全局工具配置(Global Tool Configuration)】为下图显)
- 第三步:配置对应的凭证信息
- [第四步:进入到【开发项目】--->构建--->Execute SonarQube Scanne](#第四步:进入到【开发项目】—>构建—>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
python
<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仓库把本地代码提交进来
python
C:\Users\Lenovo\Desktop\0329>git clone http://114.115.130.103:3000/zhilong/apiTest_Linux.git
C:\Users\Lenovo\Desktop\0329\apiTest_Linux>git status
On branch master
No commits yet
Untracked 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 master
fatal: couldn't find remote ref master
C:\Users\Lenovo\Desktop\0329\apiTest_Linux>git push origin master
Enumerating objects: 73, done.
Counting objects: 100% (73/73), done.
Delta compression using up to 16 threads
Compressing 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 0
To 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目录名称修改为其他即可