Linux部署sonarqube+Gogs+Jenkins(二)

news2025/1/26 15:30:39

在这里插入图片描述


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.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目录名称修改为其他即可

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1575806.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程

原文链接&#xff1a;基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247600473&idx6&sn431e9408a42862d29fe4f4ef7703595b&chksmfa8208becdf581a820d9479d2aa61b88e96612c4ab72b0…

系统架构评估_2.SAAM方法

SAAM&#xff08;Scenarios-based Architecture Analysis Method&#xff09;是卡耐基梅隆大学软件工程研究所&#xff08;SEI at CMU&#xff09;的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法&#xff0c;是最早形成文档并得到广泛使用的软件架构分析方法。最…

设计方案:914-基于64路AD的DBF波束形成硬件

一、硬件概述 &#xff24;&#xff22;&#xff26;技术的实现全部是在数字域实现&#xff0c;然而天线阵列接收的信号经过多次混频后得到的中频信号是模拟信号&#xff0c;实现&#xff24;&#xff22;&#xff26;处理并充分发挥&#xff24;&#xff22;&…

pdf操作器(图片转文字、PDF转word、PDF拆分、图片jpg、png互转)

pdf操作器&#xff08;不用联网图片转文字、PDF转word、PDF拆分、图片jpg、png互转&#xff09;介绍目前该软件实现了以下功能 pdf转wordpdf拆分图片&#xff0c;图片导出在桌面的一个文件夹里图片合并为pdf压缩、转换图片格式&#xff08;jpg和png&#xff09;OCR图片转文字&…

如何在社交媒体中使用增强现实来提高客户参与度?

目录 1. 增强现实在社交媒体中的应用是如何发展的 2. 社交媒体营销和广告中的增强现实 3. 社交媒体上的增强现实滤镜和镜头 4. 社交媒体平台上的增强现实购物 5. 利用社交媒体的增强现实事件和品牌激活 6. 增强现实在社交媒体中的未来是什么 7. 社交媒体中的增强现实常见…

xilinx 7系列fpga上电配置

一、前言 Xilinx FPGA通过加载比特流到内部存储单元来进行配置。 Xilinx FPGA存在两种数据配置路径&#xff0c;一种是满足最小引脚需求的串行路径&#xff0c;一种是可用8位、16位或32位来连接到行业的高性能通用接口&#xff0c;如处理器&#xff0c;8位或者16位并行的闪存…

轻量化日志中心 Grafana Loki

需要集中的日志系统的原因 目前现状,每个服务生产上有三台,定位生产问题,需要连上一台机器,然后使用 cd / tail / less / grep / sed / awk 等 linux命令去日志里查找故障原因。如果在这台机器没搜索到线索,就去另外两台机器上查日志。 但在分布式系统中,众多服务分散部…

链路代价信息、链路状态信息(链路状态通告LSA)

链路代价信息"link cost information" 通常指的是**在网络中&#xff0c;数据包从一个节点传输到另一个节点所需承担的“成本”或者“开销”&#xff0c;这个概念常用于路由算法和网络设计中**。以下是一些关键要点&#xff1a; 1. **路径开销**&#xff1a;路径开…

吹爆!遥感高光谱分类(Python)

目录 一、数据集下载 二、安装包 三、数据处理 四、模型训练 五、模型推理 六、踩坑记录 一、数据集下载 Hyperspectral Remote Sensing Scenes - Grupo de Inteligencia Computacional (GIC) (ehu.eus) Installing SPy — Spectral Python 0.21 documentation 二、安装…

企业计算机服务器中了locked勒索病毒怎么办,locked勒索病毒解密流程步骤

网络技术的不断发展为企业的生产运营提供了极大便利&#xff0c;也让企业的生产效率大大提高&#xff0c;但网络是一把双刃剑&#xff0c;给给企业的数据安全问题带来严重威胁。近期&#xff0c;云天数据恢复中心接到浙江某商贸公司的求助&#xff0c;企业计算机服务器遭到了lo…

HBase详解(2)

HBase 结构 HRegion 概述 在HBase中&#xff0c;会从行键方向上对表来进行切分&#xff0c;切分出来的每一个结构称之为是一个HRegion 切分之后&#xff0c;每一个HRegion会交给某一个HRegionServer来进行管理。HRegionServer是HBase的从节点&#xff0c;每一个HRegionServ…

阿里云乱扣费故障,技术堪忧

2024年4月3日&#xff0c;距离2023年11月的故障没有多久&#xff0c;阿里云又出现乱扣费故障&#xff0c;导致账号欠费3000多&#xff0c;oss&#xff0c;块存储&#xff0c;cdn等所有后付费服务停止工作&#xff0c;不知道这个故障能算什么级别的。 凌晨1点多&#xff0c;收到…

RStudio数据分析及简单作图

R语言是一种用于统计计算与绘图的编程语言&#xff0c;它免费、开源&#xff0c;被广泛应用于统计分析、数据挖掘等领域。是应用于统计计算和统计制图的优秀工具。 完整代码放在最后 一、数据收集 所使用数据下载自GEO(https://www.ncbi.nlm.nih.gov/geoprofiles/)网站&…

开源免费的MySQL和MariaDB图形化管理软件

2024年4月7日&#xff0c;周日凌晨 有很多开源免费的MySQL和MariaDB图形化管理界面可供选择。 以下是一些常用的工具&#xff1a; phpMyAdmin&#xff1a;phpMyAdmin 是一个用 PHP 编写的免费开源的 MySQL 和 MariaDB 管理工具&#xff0c;它提供了一个基于 Web 的界面&#…

GPT-5将在6月发布前进行「红队进攻测试」

“GPT-5将在6月发布”的消息刷屏了AI朋友圈。这则消息之所以被无数人相信并转发&#xff0c;是因为已经有不少技术人员在社交平台上晒出了「红队进攻测试」邀请。 基于 GPT系列庞大的用户体量和影响力&#xff0c;OpenAI 将更加重视GPT-5 的安全性&#xff0c;作为GPT-5上市前的…

Azure runbook 使用用户托管标识查看资源状态

Azure runbook 使用用户托管标识查看资源状态 在托管标识里创建用户托管标识在被查看或变更资源进行授权创建自动化账号和runbook发布脚本添加计划 在托管标识里创建用户托管标识 在被查看或变更资源进行授权 这里是选取的Analysis Services 资源 创建自动化账号和runbook 发布…

如何在 Node.js 中使用 bcrypt 对密码进行哈希处理

在网页开发领域中&#xff0c;安全性至关重要&#xff0c;特别是涉及到用户凭据如密码时。在网页开发中至关重要的一个安全程序是密码哈希处理。 密码哈希处理确保明文密码在数据库受到攻击时也难以被攻击者找到。但并非所有的哈希方法都是一样的&#xff0c;这就是 bcrypt 突…

科技云报道:卷完参数卷应用,大模型落地有眉目了?

科技云报道原创。 国内大模型战场的比拼正在进入新的阶段。 随着产业界对模型落地的态度逐渐回归理性&#xff0c;企业客户的认知从原来的“觉得大模型什么都能做”的阶段&#xff0c;已经收敛到“大模型能够给自身业务带来什么价值上了”。 2023 年下半年&#xff0c;不少企…

【C#】读取指定XML节点

&#x1f4f0;XML文件 <?xml version"1.0" encoding"utf-8"?> <configuration><userSettings><Internal.Settings type"Desktop"><setting name"StatsDisplayCount" serializeAs"String">…

算法设计与分析(实验5)-----图论—桥问题

一&#xff0e;实验目的 掌握图的连通性。掌握并查集的基本原理和应用。 二&#xff0e;实验步骤与结果 1.定义 &#xff08;1&#xff09;图的相关定义 图&#xff1a;由顶点的有穷非空集合和顶点之间的边的集合组成。 连通图&#xff1a;在无向图G中&#xff0c;若对于…