Linux部署Sonarqube+Gogs+Jenkins(一)
Linux部署Sonarqube+Gogs+Jenkins
- 一、1.Linux安装JDK11环境
- 1. 本地进行上传
- 2. 进入到/usr/java目录,并且进行解压
- 3. 配置文件/etc/profile,配置环境变量
- 4.让对应的配置文件生效
- 5. 验证
- 二、Linux安装Python环境
- 三、Linux安装Jenkins环境
- 1、/usr目录下创建jenkins目录
- 2、将jenkins.war包上传到/usr/jenkins目录下
- 3、后台运行jenkins
- 4、特别注意:云服务器需要打开8080端口
- 5、访问jenkins
- 5.1、复制路径将密码粘贴,点击继续
- 四、Linux安装gogs和Git应用
- 1、先进行git的安装
- 2、上传
- 3、解压
- 4、启动
- 5、问题解决
- 5.1、查看3000端口被那个应用程序被占用了
- 5.2、查看3000端口占用的进程PID
- 5.3、杀死进程
- 5.4、再次启动gogs服务
- 5.5、验证页面成功打开
- 五、Linux安装SonarQube
- 1、SonarQube工具介绍
- 2、SonarQube环境安装
- 第一步:新建⽤户与组
- 第二步:上传sonarqube安装包(zip⽂件)所以需要安装⼀个unzip 进⾏解压
- 第三步:移动文件夹到非 ~ 下,并设置⽤户组课操作权限( -R 后面跟的是组名)
- 特别注意:云服务器中需要加sudo,否则权限不够,启动sonarqube失败
- 第四步:启动sonar,先切换⽤户再运⾏
- 特别注意:Linux系统切换用户后只显示$问题
- 第五步:访问:http://IP:9000/ ,并且进行汉化。
一、1.Linux安装JDK11环境
需要下载对应的jdk的包 – jdk 11
scp 本地文件路径 用户名@ip:要保存路径
1. 本地进行上传
或者通过xftp软件传输到服务器中
scp jdk11.0.18_linuxx64_bin.tar.gz root@192.168.31.178:/usr/java
2. 进入到/usr/java目录,并且进行解压
cd /usr/java
tar -zxvf jdk11.0.18_linuxx64_bin.tar.gz
3. 配置文件/etc/profile,配置环境变量
a. 添加一个环境变量:JAVA_HOME – java的路径
b. 添加一个环境变量:CLASSPATH
c. 将JAVA可执行文件添加到PATH当中
d. 进行保存:esc ————>:wq
export JAVA_HOME=/usr/java/jdk-11.0.18
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
4.让对应的配置文件生效
source /etc/profile
5. 验证
java -version
二、Linux安装Python环境
https://blog.csdn.net/YZL40514131/article/details/121583650
三、Linux安装Jenkins环境
1、/usr目录下创建jenkins目录
2、将jenkins.war包上传到/usr/jenkins目录下
root@hecs-213321:/usr/jenkins# ls
jenkins.log jenkins.war
3、后台运行jenkins
nohup java -jar jenkins.war jenkins.war>jenkins.log 2>&1&
nohup java -jar jenkins.war jenkins.war>jenkins.log 2>&1&
4、特别注意:云服务器需要打开8080端口
5、访问jenkins
http://114.115.130.103:8080/
5.1、复制路径将密码粘贴,点击继续
四、Linux安装gogs和Git应用
1、先进行git的安装
注意:必须先安装Git
安装非常简单:yum install git -y
2、上传
3、解压
tar -zxvf gogs_0.13.0_linux_amd64.tar.gz
tar -zxvf gogs_0.13.0_linux_amd64.tar.gz
4、启动
nohup ./gogs web>gogs.log 2>&1&
5、问题解决
gogs默认使用的是3000端口,由于我的云服务器3000端口已经被占用了,所以访问不了页面。
5.1、查看3000端口被那个应用程序被占用了
5.2、查看3000端口占用的进程PID
root@hecs-213321:~/installation_package/gogs/gogs# lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
grafana-s 3481095 root 8u IPv6 16700086 0t0 TCP *:3000 (LISTEN)
grafana-s 3481095 root 16u IPv6 33473034 0t0 TCP hecs-213321:3000->111.196.125.31:64485 (ESTABLISHED)
5.3、杀死进程
root@hecs-213321:~/installation_package/gogs/gogs# kill -9 3481095
5.4、再次启动gogs服务
root@hecs-213321:~/installation_package/gogs/gogs# nohup ./gogs web>gogs.log 2>&1&
[1] 2683618
5.5、验证页面成功打开
五、Linux安装SonarQube
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
第一步:新建⽤户与组
# 进入到主目录
cd ~
# 创建一个组:sonarqube
groupadd sonarqube
# 语法:useradd 用户名 -g 组名 -p 密码
useradd sonarqube -g sonarqube -p sonarqube
第二步:上传sonarqube安装包(zip⽂件)所以需要安装⼀个unzip 进⾏解压
# 上传文件
scp sonarqube-9.7.0.61563.zip root@192.168.2.18:~/
# 安装unzip
yum install unzip -y
# 解压文件到当前路径下
unzip sonarqube-9.7.0.61563.zip -d ./
第三步:移动文件夹到非 ~ 下,并设置⽤户组课操作权限( -R 后面跟的是组名)
# 移动文件夹到/opt目录下
mv sonarqube-9.7.0.61563 /opt
# 进入到opt的文件路径,并且赋予权限
cd /opt
# chown -R sonarqube sonar安装包解压后的路径;用于更改文件或目录的所有者
chown -R sonarqube sonarqube-9.7.0.61563/
# chgrp -R sonarqube sonar安装包解压后的路径;用于更改文件或目录的所属组
chgrp -R sonarqube sonarqube-9.7.0.61563/
# chown -R sonarqube JAVA_HOME路径;用于更改文件或目录的所有者
chown -R sonarqube /usr/jdk
# chgrp -R sonarqube JAVA_HOME路径;用于更改文件或目录的所属组
chgrp -R sonarqube /usr/jdk
特别注意:云服务器中需要加sudo,否则权限不够,启动sonarqube失败
root@hecs-213321:/opt# sudo chown -R sonarqube6 sonarqube-9.7.0.61563
root@hecs-213321:/opt# sudo chgrp -R sonarqube6 sonarqube-9.7.0.61563
root@hecs-213321:/opt# sudo chown -R sonarqube6 /usr/java/jdk-11.0.18/bin/java
root@hecs-213321:/opt# sudo chgrp -R sonarqube6 /usr/java/jdk-11.0.18/bin/java
报错日志截图
第四步:启动sonar,先切换⽤户再运⾏
# 切换用户
su sonarqube
# 启动(sonar本身就是后台运行,无需其它操作) 华
./sonarqube-9.7.0.61563/bin/linux-x86-64/sonar.sh start
特别注意:Linux系统切换用户后只显示$问题
问题描述:Linux系统切换用户后只显示$问题:
root@hecs-213321:~# clear
root@hecs-213321:~# su sonarqube
$
原因分析:
证明默认的shell为/bin/sh,而不是/bin/bash。
l改成/bin/bash,即可解决问题。创建用户的时候未指定shell类型。
第五步:访问:http://IP:9000/ ,并且进行汉化。
相关文章:

Linux部署Sonarqube+Gogs+Jenkins(一)
Linux部署SonarqubeGogsJenkins 一、1.Linux安装JDK11环境1. 本地进行上传2. 进入到/usr/java目录,并且进行解压3. 配置文件/etc/profile,配置环境变量4.让对应的配置文件生效5. 验证 二、Linux安装Python环境三、Linux安装Jenkins环境1、/usr目录下创建…...
程序员开发技术整理(持续整理中)
前端技术: vue-前端框架element-前端框架bootstrap-前端框架echarts-图标组件 C#后端技术: webservice:soap架构:简单的通信协议,用于服务通信ORM框架:对象关系映射,如EF:对象实体…...

Java并查集详解(附Leetcode 547.省份数量讲解)
一、并查集概念 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根,…...

【MySQL】DQL-基础查询-语句&演示(查询多个字段 / 所有字段/并设置别名/去重)
前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…...
更新一条SQL的执行流程
在 MySQL中,条更新 SQL 语句执行的过程通常包括以下主要步骤: 1.客户端发送请求: 客户端应用程序(如数据库连接器或应用程序)构建一条 UPDATE SQL 语句,并将其发送到 MySOL 服务器端。 2.查询解析和优化: MySQL 服务器接收到请求后,先进行语法…...
深入理解nginx mp4流媒体模块[上]
目录 1. 引言2. 配置3. 源码分析3.1 配置指令3.1.1 mp43.1.2 mp4_buffer_size3.1.3 mp4_max_buffer_size3.1.4 mp4_start_key_frame 3.2 MP4的请求处理过程3.2.1 预处理3.2.2 找到并打开本地mp4文件3.2.3 解析请求参数3.2.4 MP4文件的处理 深入理解nginx mp4流媒体模块[上] 深入…...

Go 之 Gin 框架
Gin 是一个 Go (Golang) 编写的轻量级 web 框架,运行速度非常快,擅长 Api 接口的高并发,如果项目的规模不大,业务相对简单,这个时候我们也推荐您使用 Gin,特别适合微服务框架。 简单路由配置 package mai…...

vue3+threejs新手从零开发卡牌游戏(二十一):添加战斗与生命值关联逻辑
首先将双方玩家的HP存入store中,stores/common.ts代码如下: import { ref, computed } from vue import { defineStore } from piniaexport const useCommonStore defineStore(common, () > {const _font ref() // 字体const p1HP ref(4000) // 己…...

Linux内核err.h文件分析
在阅读和编写内核相关的代码时,经常会看到IS_ERR、ERR_PTR等函数。这些函数在内核头文件的err.h中。以我服务器的代码为例,内核版本为5.15。 这个文件的代码如下: /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_ERR_H #define _L…...

Qt 富文本处理 (字体颜色大小加粗等)
Qt中支持HTML的控件有textEdit 、label 、textBrowser 。 接口:setHtml("Qt"); toHtml(). 文本样式设置 : 可分字设置 ,主要使用QTextCharFormat类进行文本样式设置。 示例: QTextCharFormat fmt; //粗体 fmt.setFontWeight…...

消息队列的七种经典应用场景
在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享…...

uniapp 微信小程序 canvas 手写板文字重复倾斜水印
核心逻辑 先将坐标系中心点通过ctx.translate(canvasw / 2, canvash / 2) 平移到canvas 中心,再旋转设置水印 假如不 translate 直接旋转,则此时的旋转中心为左上角原点,此时旋转示意如图所示 当translate到中心点之后再旋转,此…...
JavaScript如何制作轮播图
在JavaScript中实现轮播图可以通过多种方式,但最常见的方式是使用数组来存储图片,然后使用setInterval函数定期更改显示的图片。下面是一个简单的例子: 首先,你需要在HTML中设置一些用于显示图片的<img>标签,以…...

【面试经典150 | 动态规划】零钱兑换
文章目录 Tag题目来源解题思路方法一:动态规划 写在最后 Tag 【动态规划】【数组】 题目来源 322. 零钱兑换 解题思路 方法一:动态规划 定义状态 dp[i] 表示凑成总金额的最少硬币个数。 状态转移 从小到大枚举要凑成的金额 i,如果当前…...

什么是防火墙,部署防火墙有什么好处?
与我们的房屋没有围墙或界限墙一样,没有防护措施的计算机和网络将容易受到黑客的入侵,这将使我们的网络处于巨大的风险之中。因此,就像围墙保护我们的房屋一样,虚拟墙也可以保护和安全我们的设备,使入侵者无法轻易进入…...

学习鸿蒙基础(10)
目录 一、轮播组件 Swiper 二、列表-List 1、简单的List 2、嵌套的List 三、Tabs容器组件 1、系统自带tabs案例 2、自定义导航栏: 一、轮播组件 Swiper Entry Component struct PageSwiper {State message: string Hello Worldprivate SwCon: SwiperControl…...

阿里云对象存储OSS入门
阅读目录 一、阿里云OSS的使用 1、OSS是什么?2、OSS的使用 二、阿里云OSS的使用三、图床的搭建四:图床绑定阿里云OSS 编写不易,如果我的文章对你有帮助的话,麻烦小伙伴还帮忙点个赞再走! 如果有小伙伴觉得写的啰嗦&a…...

[幻灯片]软件需求设计方法学全程实例剖析-03-业务用例图和业务序列图
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 pdf已上传至本号的CSDN资源,或到以下地址下载: http://umlchina.com/training/umlchina_03_bm.pdf...

ctfshow-web入门-xxe
什么是xxe? XXE,全称XML External Entity Injection,即XML外部实体注入。这是一种针对应用程序解析XML输入类型的攻击。当包含对外部实体的引用的XML输入被弱配置的XML解析器处理时,就会发生这种攻击。这种攻击通过构造恶意内容&…...

Docker数据卷挂载
一、容器与数据耦合的问题: 数据卷是虚拟的,不真实存在的,它指向文件中的文件夹 ,属主机文件系统通过数据卷和容器数据进行联系,你改变我也改变。 解决办法: 对宿主机文件系统内的文件进行修改,会立刻反应…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
StarRocks 全面向量化执行引擎深度解析
StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计,相比传统行式处理引擎(如MySQL),性能可提升 5-10倍。以下是分层拆解: 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...

Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...