当前位置: 首页 > news >正文

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中实现轮播图可以通过多种方式&#xff0c;但最常见的方式是使用数组来存储图片&#xff0c;然后使用setInterval函数定期更改显示的图片。下面是一个简单的例子&#xff1a; 首先&#xff0c;你需要在HTML中设置一些用于显示图片的<img>标签&#xff0c;以…...

【面试经典150 | 动态规划】零钱兑换

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

什么是防火墙,部署防火墙有什么好处?

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

学习鸿蒙基础(10)

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

阿里云对象存储OSS入门

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

[幻灯片]软件需求设计方法学全程实例剖析-03-业务用例图和业务序列图

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 pdf已上传至本号的CSDN资源&#xff0c;或到以下地址下载&#xff1a; http://umlchina.com/training/umlchina_03_bm.pdf...

ctfshow-web入门-xxe

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

Docker数据卷挂载

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

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

自然语言处理——循环神经网络

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

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...