当前位置: 首页 > 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;会立刻反应…...

409.最长回文串(数学算法)

题目 给定一个包含大写字母和小写字母的字符串 s &#xff0c;返回 通过这些字母构造成的 最长的 回文串 的长度。 在构造过程中&#xff0c;请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 题目链接如下&#xff1a; https://leetcode.cn/problems/longe…...

别再为版本号头疼了!手把手教你搞定Windows上ChromeDriver与Chrome的版本匹配(附最新镜像源)

别再为版本号头疼了&#xff01;手把手教你搞定Windows上ChromeDriver与Chrome的版本匹配 每次启动Selenium脚本时看到SessionNotCreatedException报错&#xff0c;就像在高速公路上突然爆胎——明明昨天还能正常运行的自动化测试&#xff0c;今天就因为Chrome自动更新而彻底罢…...

从机翼到飞行:空气动力学核心概念与应用解析

1. 翼型&#xff1a;飞机飞行的秘密藏在形状里 第一次看到飞机机翼横截面时&#xff0c;我盯着那个水滴状的形状看了足足十分钟。这个被称为翼型的二维轮廓&#xff0c;藏着人类百年航空史最精妙的设计智慧。就像鱼类的流线型身体决定了游泳效率&#xff0c;翼型的每个曲线转折…...

ARM迷你PC硬核体验:RK3588玩转游戏、影音与家庭服务器

1. 项目概述&#xff1a;当ARM迷你PC遇上硬核游戏最近几年&#xff0c;迷你PC市场可以说是百花齐放&#xff0c;从主打办公的英特尔NUC&#xff0c;到各种基于AMD平台的准系统&#xff0c;选择非常多。但不知道你有没有注意到&#xff0c;一股新的力量正在悄然崛起——那就是基…...

如何永久免费使用IDM下载管理器:无需破解的智能重置方案

如何永久免费使用IDM下载管理器&#xff1a;无需破解的智能重置方案 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset 想要永久免费使用Internet Download Manager这款强大的下载加速工…...

AI Agent设计模式:从ReAct到Plan-and-Execute

Agent 设计模式&#xff1a;ReAct 与 Plan-Execute 讲透Function Calling 让 Agent 会用工具&#xff0c;但真正让 Agent「聪明」的&#xff0c;是它的思考模式。这就像给你一本字典不意味着你会写文章——你需要方法论。ReAct 和 Plan-Execute 就是 Agent 的两种核心方法论。一…...

观察使用TaotokenTokenPlan后项目月度AI成本的变化趋势

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察使用Taotoken TokenPlan后项目月度AI成本的变化趋势 对于许多采用按量计费模式的中小型项目而言&#xff0c;大模型API的月度支…...

【大模型知识增强】KnowLM实战:从文本到知识图谱的自动化构建与精准管理

1. 为什么需要KnowLM这样的知识增强大模型&#xff1f; 最近在处理公司积累的几万份技术文档时&#xff0c;我深刻体会到了传统信息抽取方法的局限性。用通用大模型直接处理专业领域文本&#xff0c;经常会出现实体识别错误、关系张冠李戴的情况。比如把"Transformer架构&…...

Discourse Docker持续集成:自动化构建与部署完整指南 [特殊字符]

Discourse Docker持续集成&#xff1a;自动化构建与部署完整指南 &#x1f680; 【免费下载链接】discourse_docker A Docker image for Discourse 项目地址: https://gitcode.com/gh_mirrors/dis/discourse_docker Discourse Docker持续集成是现代论坛部署的最佳实践&a…...

NotebookLM新闻传播研究落地全图谱(2024最新实证报告)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM新闻传播研究的范式演进与学科定位 NotebookLM 作为 Google 推出的面向研究者的 AI 助手&#xff0c;其核心设计理念——以用户上传文档为知识锚点、通过引用溯源生成可信响应——正悄然重构新闻传播…...