前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Sonar7.9结合postgres部署

Sonar7.9结合postgres部署

作者头像
dogfei
发布于 2020-07-31 06:38:34
发布于 2020-07-31 06:38:34
1.8K01
代码可运行
举报
文章被收录于专栏:devops探索devops探索
运行总次数:1
代码可运行

根据国际惯例,先来介绍下sonar是做啥的?

Sonar介绍

SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味。它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。

架构与流程
  1. 一个SonarQube服务器启动3个主要流程:
    • Web服务器,供开发人员,管理人员浏览高质量快照并配置SonarQube实例
    • 基于Elasticsearch的Search Server从UI返回搜索
    • 计算引擎服务器负责处理代码分析报告并将其保存在SonarQube数据库
  2. 一个SonarQube数据库存储
    • SonarQube实例的配置(安全性,插件设置等)
    • 项目,视图等的质量快照
  3. 服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和治理插件
  4. 在构建/持续集成服务器上运行一个或多个SonarScanner来分析项目

部署

sonar最小部署需要一台机器,配置在2c4G,或者内存最低不能低于2G,详情可参考官方文档

环境准备
  • 修改内核参数
  • 增加文件最大打开句柄数
  • 创建普通用户
  • 安装数据库
  • 准备jdk环境
修改内核参数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sysctl -w vm.max_map_count=655360
增大系统打开文件数

可参考博客:修改最大打开文件数

创建普通用户
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
useradd sonar
echo 123456 | passwd sonar --stdin
安装数据库

这里选择的是postgresql数据库,安装方式也是采用yum安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql11
yum install postgresql11-server
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11

centos7下载地址:centos7 其他系统仓库源下载地址:其他 修改postgres的默认端口,及允许其他客户端连接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /var/lib/pgsql/11/data
vim postgresql.conf
port = 8084 
listen_addresses = '*'    #允许所有机器连接

vim pg_bba.conf
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             0.0.0.0/0            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

创建数据库,允许sonar连接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su postgres
psql -U postgres
CREATE USER sonar WITH PASSWORD 'sonar123';
CREATE DATABASE sonar WITH OWNER sonar ENCODING 'UTF8';
准备jdk12

官方下载jdk12:下载地址

我这里服务器上存在了一个jdk1.8的版本,所以没有把jdk12添加至环境变量中,只需要在sonar的配置文件中指定jdk12的路径即可

安装sonar

下载地址:sonarqube

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
unzip sonarqube-7.9.1.zip
mv sonarqube-7.9.1 /usr/local/sonarqube

修改配置文件,使用jdk12

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim wrapper.conf 
wrapper.java.command=/usr/local/jdk12/bin/java #指定jdk12的位置

修改配置文件,设置连接postgres的信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sonar.jdbc.username=sonar
sonar.jdbc.password=Sonar@123
sonar.jdbc.url=jdbc:postgresql://192.168.1.1:8084/sonar
sonar.web.host=0.0.0.0
sonar.web.port=9000

启动(需要切换至普通用户启动)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chown -R sonar.sonar /usr/local/sonarqube
su sonar
cd /usr/local/sonarqube
./bin/linux-x86-64/sonar.sh start

启动完成后可去logs目录下查看日志,如果按照我上面的方式去做,基本不会有报错

访问测试

直接浏览器输入:ip:port的方式访问,可以在setting中找到market,然后搜索chinese下载中文包,即可支持中文。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Retrofit/Okhttp API接口加固技术实践(下)
上篇加固介绍了APi单纯Post用对称加密(文中用Base64 为简单列子)加密方式,这种加密方式还是存在一定的风险,加密效率虽高,但易破解,本节将介绍怎么用非对称加密 来加解密okhttp的数据,本文采用RSA加密算法为栗子。
开发者技术前线
2020/11/23
7360
Retrofit/Okhttp API接口加固技术实践(下)
科普:什么是SSH?
SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录或文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全隐患。随着人们对网络安全的重视,这些方式已经慢慢不被接受。SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的登录和其他安全网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案,目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。 目录 SSH端口号是什么?SS
程序猿DD
2022/04/24
1.2K0
科普:什么是SSH?
苹果强制使用HTTPS传输后APP开发者必须知道的事
作者asher,加入腾讯多年,主要负责腾讯CDN和云业务的HTTPS开发和运营工作。
WeTest质量开放平台团队
2018/10/29
1.4K0
SSH的工作原理
SSH简介 传统的网络服务程序,比如FTP,POP,Telnet,本质上都是不安全的,因为它们在网络上用明文传送数据、用户账号和用户口令,很容易受到中间人攻击方式的攻击,攻击者会冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。 为了满足安全性的需求,IETF的网络工作小组制定了Secure Shell(缩写为SSH),这是一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell提供安全的传输和使用环境。 SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协
大蟒传奇
2018/06/20
1.4K0
HTTPS终于搞懂了
近些年来,越来越多的网站使用 HTTPS 协议进行数据传输,原因在于 HTTPS 相较于 HTTP 能够提供更加安全的服务。
捡田螺的小男孩
2023/02/22
9410
HTTPS终于搞懂了
SSH初认识:了解加密、端口和连接
SSH(即安全外壳协议)是一种远程管理协议,允许用户通过 Internet 访问、控制和修改其远程服务器。SSH 服务是作为未加密 Telnet 的安全替代品而创建的,并使用加密技术来确保与远程服务器之间的所有通信都以加密方式进行。它提供了一种对远程用户进行身份验证、将输入从客户端传输到主机以及将输出中继回客户端的机制。
Lemon黄
2023/11/23
2.1K0
SSH初认识:了解加密、端口和连接
HTTPS 是如何进行安全传输的 ?
对称型密钥加密的基本原理是将明文数据通过一个加密算法和一个密钥转换成密文,然后接收方使用相同的密钥和解密算法将密文还原成原始的明文。由于加密和解密都使用同一个密钥,因此被称为对称加密。对称型密钥加密算法的特点是算法简单、速度快,适合于大量数据的加密。常见的对称型密钥加密算法包括:AES (Advanced Encryption Standard)、DES (Data Encryption Standard)、3DES (Triple DES)。
phoenix.xiao
2024/05/10
1890
HTTPS 是如何进行安全传输的 ?
深入解析HTTPS:安全机制全方位剖析
提升编程效率的利器: 解析Google Guava库之集合篇RangeSet范围集合(五)
公众号:码到三十五
2024/03/19
5460
深入解析HTTPS:安全机制全方位剖析
https通信流程
在HTTPS连接建立的过程中,SSL/TLS握手起到了至关重要的作用。它不仅是为了验证通信双方的身份,而且还要确立加密参数和会话密钥。以下是该过程的详细说明:
johnhuster的分享
2024/04/20
3060
HTTPS 是如何保证传输安全的?
HTTPS 是一种基于 SSL/TLS 加密协议的安全传输协议,用于保护在互联网上传输的数据的机密性、完整性和身份验证。HTTPS 可以有效地保护客户端与服务器之间的通信,是现代网络应用程序中广泛使用的一种安全协议。
用户1289394
2023/08/22
9910
HTTPS 是如何保证传输安全的?
了解SSH加密和连接过程 转
SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和输出。
wuweixiang
2018/08/14
1.2K0
即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术
本文由融云技术团队分享,原题“互联网通信安全之端到端加密技术”,内容有较多修订和改动。
JackJiang
2022/08/29
2.1K0
即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术
HTTP和HTTPS的区别,看完后随便吊打面试官
下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了 HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一些所谓的标准回答呢?技术还有正确与否吗?
淘课之家
2020/03/15
3.7K1
HTTP和HTTPS的区别,看完后随便吊打面试官
HTTP原理与通信流程
HTTP是不会对请求的双方进行身份验证的,服务器不会校验客户端的身份,谁都可以向服务器发送请求,任何人都的请求都会进行响应; 客户端也不会验证响应的数据是否是由自己请求的目标服务器所发出。
vimsudoers
2020/02/29
1.1K0
Linux网络-HTTPS协议
HTTPS 零、前言 一、HTTPS协议 二、加密方式 三、中间人攻击 四、PKI 五、数字签名技术 零、前言 本章是继HTTP协议后的一篇关于HTTPS协议的拓展 一、HTTPS协议 概念及介绍: HTTP请求无论是用GET方法还是POST都是不安全的,使用HTTP协议传输的数据都是在网络里面裸奔(可以通过抓包工具抓到) HTTPS是身披SSL外壳的HTTP,是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,对数据包进行加密和解密 HT
用户9645905
2022/11/15
1.5K0
Linux网络-HTTPS协议
HTTP与HTTPS的区别,详细介绍[通俗易懂]
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
全栈程序员站长
2022/07/01
4.8K0
HTTP与HTTPS的区别,详细介绍[通俗易懂]
Spring Cloud Gateway 数字签名、URL动态加密就该这样设计!
在网络传递数据的时候,为了防止数据被篡改,我们会选择对数据进行加密,数据加密分为对称加密和非对称加密。其中RSA和AES,TLS等加密算法是比较常用的。
码猿技术专栏
2023/12/13
9890
Spring Cloud Gateway 数字签名、URL动态加密就该这样设计!
安全如何为数据库选择最佳加密方法
介绍 加密是对消息或信息进行编码以便只有授权方可以看到它的过程。加密已经进行了几个世纪。例如,在第二次世界大战中,盟军使用不成文的纳瓦霍语发送加密代码,日本人无法解码。
埃文科技
2022/05/23
7090
【HTTP】HTTPS TLS 1.2
在个人过去的读书笔记中已经介绍过一次,在这一篇文章中介绍了HTTP1.1的缺点,以及SSL、TLS的历史,之后介绍了有关SSL加密的主要加密方案:公开密钥加密 和 共享密钥加密,最后简单介绍了HTTPS的交互过程,但是书中的过程比较粗,这节我们讲细一点点。
阿东
2022/09/12
1.3K0
透视HTTPS建造固若金汤的城堡
为什么有 HTTPS?因为 HTTP 不安全! 现在的互联网已经不再是 “田园时代”,“黑暗森林” 已经到来。上网的记录会被轻易截获,网站是否真实也无法验证,黑客可以伪装成银行网站,盗取真实姓名、密码、银行卡等敏感信息,威胁人身安全和财产安全。
Bug开发工程师
2020/09/22
5110
透视HTTPS建造固若金汤的城堡
相关推荐
Retrofit/Okhttp API接口加固技术实践(下)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档