Linux部署Sonarqube+Gogs+Jenkins(一)

2024-03-30 22:44

本文主要是介绍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(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/862779

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命