Linux部署sonarqube+Gogs+Jenkins(二)


Linux部署sonarqube+Gogs+Jenkins

一、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操作步骤

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

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

第一步: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目录名称修改为其他即可

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

相关推荐
羊小猪~~4 分钟前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
牛角上的男孩12 分钟前
Istio Gateway发布服务
云原生·gateway·istio
成都古河云22 分钟前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美25 分钟前
文件的写入与读取
linux·运维·服务器
放飞自我的Coder33 分钟前
【python ROUGE BLEU jiaba.cut NLP常用的指标计算】
python·自然语言处理·bleu·rouge·jieba分词
xianwu54342 分钟前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming1 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方1 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
正义的彬彬侠1 小时前
【scikit-learn 1.2版本后】sklearn.datasets中load_boston报错 使用 fetch_openml 函数来加载波士顿房价
python·机器学习·sklearn
张小生1801 小时前
PyCharm中 argparse 库 的使用方法
python·pycharm