Linux部署Sonarqube+Gogs+Jenkins(一)

news2024/11/27 2:30:30

在这里插入图片描述


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/ ,并且进行汉化。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

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

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

相关文章

Redis 的慢日志

Redis 的慢日志 Redis 的慢日志(Slow Log)是用于记录执行时间超过预设阈值的命令请求的系统。慢日志可以帮助运维人员和开发人员识别潜在的性能瓶颈,定位那些可能导致 Redis 性能下降或响应延迟的慢查询。以下是 Redis 慢日志的相关细节&…

自定义类型(二)结构体位段,联合体,枚举

这周一时兴起,想写两篇文章来拿个卷吧,今天也是又来写一篇博客了,也是该结束自定义类型的学习与巩固了。 常常会回顾努力的自己,所以要给自己的努力留下足迹。 为今天努力的自己打个卡,留个痕迹吧 2024.03.30 小闭…

GitHub文件克隆到本地(GitHub desktop快速上手版)

使用 GitHub Desktop 轻松地克隆 GitHub 上的项目。 打开 GitHub Desktop 应用程序。 在菜单栏中,单击“文件”,然后选择“克隆存储库”。 在弹出的窗口中,选择要克隆的存储库: 单击与要克隆的仓库位置对应的选项卡。或者&#…

回溯算法|216.组合总和III

力扣题目链接 class Solution { private:vector<vector<int>> result; // 存放结果集vector<int> path; // 符合条件的结果// targetSum&#xff1a;目标和&#xff0c;也就是题目中的n。// k&#xff1a;题目中要求k个数的集合。// sum&#xff1a;已经收集…

【Quixel Mixer】简单介绍

一、下载 官网下载地址&#xff1a;Quixel Mixer - All-in-one texturing & material creation tool 下载好之后双击exe来安装 等待安装完成 下载后打开&#xff0c;新建一个工程和Mix 二、界面介绍 我们先将软件界面分为如下3个部分 1号区域为菜单栏 2号区域介绍 2号…

【Linux】POSIX信号量{基于环形队列的PC模型/理解信号量的出现/参考代码}

文章目录 1.POSIX信号量1.1介绍1.2接口 2.基于环形队列的PC模型2.1环形队列常用计算2.2如何设计&#xff1f;2.3如何实现&#xff1f; 3.细节处理3.1空间资源和数据资源3.2push/pop3.3理解信号量的出现1.回顾基于阻塞队列的PC模型中条件变量的使用2.如何理解信号量的投入使用&a…

数据结构:链表的双指针技巧

文章目录 一、链表相交问题二、单链表判环问题三、回文链表四、重排链表结点 初学双指针的同学&#xff0c;请先弄懂删除链表的倒数第 N 个结点。 并且在学习这一节时&#xff0c;不要将思维固化&#xff0c;认为只能这样做&#xff0c;这里的做法只是技巧。 一、链表相交问题 …

报错:ImportError: cannot import name ‘imread‘ from ‘scipy.misc‘

报错内容&#xff1a; 问题代码通常是导入scipy库的版本出现了问题。 解决方法&#xff1a; 方法一&#xff1a; scipy版本还原到1.2.0 pip install scipy1.2.0 方法二&#xff1a; 使用from imageio import imread进行替换from scipy.misc import imread 使用imageio库同…

预处理详解(二)-- 条件编译 - 头文件包含 - ##和#运算符

目录 一.##和#运算符1.#运算符&#xff08;字符串化&#xff09;2.##运算符&#xff08;粘合符&#xff09; 二.条件编译&#xff08;很重要&#xff09;三.命名约定1.宏名的命名2.函数的命名 四.#undef(用于移除一个宏定义)五.命名行约定六.头文件被包含的方式1.本地文件包含2…

推特Twitter有直播功能吗?如何用Twitter直播?

现在各大直播平台已经成为社交媒体营销的一种重要渠道&#xff0c;它让品牌能够即时地与全球受众进行互动。据统计&#xff0c;直播市场正在迅速增长&#xff0c;预计到2028年将达到2230亿美元的规模。在这个不断扩张的市场中&#xff0c;许多社交媒体平台如YouTube、Facebook、…

消息队列的七种经典应用场景

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

在ROS上快速验证PID算法

在ROS上快速验证PID算法 前言 最近有在外面出差授课的工作任务&#xff0c;其中有一个环节是给大家讲述PID相关的内容&#xff0c;在制作相关PPT的时候查询了很多资料&#xff0c;但是写着写着突然意识到一个问题&#xff0c;PID已经在控制专业学习过程以及工程开发时间中那么…

量化交易入门(二十五)什么是RSI,原理和炒股实操

前面我们了解了KDJ&#xff0c;MACD&#xff0c;MTM三个技术指标&#xff0c;也进行了回测&#xff0c;结果有好有坏&#xff0c;今天我们来学习第四个指标RSI。RSI指标全称是相对强弱指标(Relative Strength Index),是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市…

【YOLOv5改进系列(9)】高效涨点----使用CAM(上下文增强模块)替换掉yolov5中的SPPF模块

文章目录 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ CAM模块详细介绍二、2️⃣CAM模块的三种融合模式三、3️⃣如何添加CAM模块3.1 &#x1f393; 添加CAM模块代码3.2 ✨添加yolov5s_CAM.yaml文件3.3 ⭐️修改yolo.py文相关文件 四、4️⃣实验结果4.1 &#x1f39…

HTB devvortex靶机记录

做这个靶机的师傅们我先提一句&#xff0c;不知道是否是因为网速还是其他因素影响&#xff0c;登录后台管理后&#xff0c;有大概率会被其他人挤下去&#xff0c;所以做这道题的师傅可以考虑在没人的时候去做。 打开靶场以后老规矩nmap扫一遍 这里爆出了80端口和22端口&#xf…

解决Veeam做Replication复制或备份任务并发数量少问题

Veeam执行replication复制或者备份任务时&#xff0c;一直都只有两个任务并发在跑&#xff0c;其他同时间任务只能等待前两个任务处理完才可以开始。 解决方法&#xff1a; 进入Veeam-Bacup Infrastructure-Backup Proxies&#xff0c;可以看到VMware Backup Proxy&#xff0…

【并发】第二篇 ThreadLocal详解

导航 一. ThreadLocal 简介二. ThreadLocal 源码解析1. get2. set3 .remove4. initialValue三. ThreadLocalMap 源码分析1. 构造方法2. getEntry()3. set()4. resize()5. expungeStaleEntries()6. cleanSomeSlots()7. nextIndex()8. remove()9. 总结ThreadLocalMap四. 内存泄漏…

@EnableWebMvc 导致自定义序列化器失效

目录 前言 一. 自定义序列化器失效 1.1 EnableWebMvc 的作用 1.2 EnableWebMvc 带来了什么后果 1.3 原理分析 1.4 问题解决 二. 总结 前言 在使用Swagger的时候用 到了EnableWebMvc&#xff0c;发现之前为了解决Long类型、日期类型等自定义序列化器失效了 Configurati…

TransformControls 是 Three.js 中的一个类,用于在网页中进行 3D 场景中物体的交互式操作。

demo案例 TransformControls 是 Three.js 中的一个类&#xff0c;用于在网页中进行 3D 场景中物体的交互式操作。让我们来详细讲解它的输入参数、输出、属性和方法&#xff1a; 输入参数&#xff1a; TransformControls 构造函数通常接受两个参数&#xff1a; camera&#…

企业培训系统功能介绍

在当今知识经济时代&#xff0c;企业的竞争力在很大程度上取决于员工的专业能力和综合素质。为了适应不断变化的市场需求和技术进步&#xff0c;企业需要对员工进行持续有效的培训。一个高效的企业培训系统对企业人才培训至关重要。以下介绍一下企业培训系统的主要功能&#xf…