jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署

一、安装java依赖

要求参考:https://docs.sonarqube.org/latest/requirements/prerequisites-and-overview/

1.内核参数调整并重启

vim  /etc/sysctl.d/sonarqube.conf
vm.max_map_count=262144
fs.file-max=65536
sysctl -p 
vim /etc/security/limits.conf
* hard nofile 65536
* soft nofile 65536
reboot

2.安装java 17环境

具体java版本参考实际安装的版本要求

tar xf jdk-17.0.6_linux-x64_bin.tar.gz -C /usr/local/
cd /usr/local/
ln -sv  jdk-17.0.6 java17
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java17
export CLASSPATH=$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH 
. /etc/profile.d/java.sh
java -version
echo $JAVA_HOME

二、安装配置PostgreSQL 14数据库

1.安装PostgreSQL

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql14-server
echo 'export PGSETUP_INITDB_OPTIONS="-E UTF-8 --locale=zh_CN.UTF-8"' > /etc/profile.d/postgresql.sh
. /etc/profile.d/postgresql.sh
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
systemctl start postgresql-14

2.配置sonar数据库相关配置

su - postgres
psql -U postgres
alter user postgres with password '123456';
create database sonar; 
create user sonar;
alter user sonar with password '123456'; 
alter role sonar createdb;
alter role sonar superuser;
alter role sonar createrole;
alter database sonar owner to sonar;
postgres=# \l  #查看数据库
                                     数据库列表
   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限        
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 sonar     | sonar    | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 行记录)
postgres=# \du  #查看用户
                             角色列表
 角色名称 |                    属性                    | 成员属于 
----------+--------------------------------------------+----------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}
 sonar    | 超级用户, 建立角色, 建立 DB                | {}
postgres=# \q

3.设置远程访问

vim /var/lib/pgsql/14/data/postgresql.conf
listen_address = '*'
vim /var/lib/pgsql/14/data/pg_hba.conf
host    all             all             0.0.0.0/0               trust
systemctl restart postgresql-14

三、安装sonarqube

1.下载社区版

目前最新为9.9,其他版本下载:https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/

2.配置sonarqube

unzip sonarqube-9.9.0.65466.zip -d /usr/local/
cd /usr/local/
ln -sv sonarqube-9.9.0.65466 sonarqube
cd sonarqube/conf/
vim sonar.properties  #其他选项参考官方文档自行修改
#删除 ?currentSchema=my_schema,使用默认的public schema
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://192.168.1.134:5432/sonar 
sonar.web.host=0.0.0.0
sonar.web.port=9000
#添加全局环境变量
vim /etc/profile.d/sonarqube.sh
export SONAR_HOME=/usr/local/sonarqube
. /etc/profile.d/sonarqube.sh
chown -R sonar:sonar /usr/local/sonarqube-9.9.0.65466/
su - sonar
cd /usr/local/sonarqube/bin/linux-x86-64
./sonar.sh start

3.访问web

http://192.168.1.134:9000/  默认账户和密码admin/admin

4.sonarqube排错方法

在sonarqube安装目录下,相关启动及访问日志都写在logs目录下,如有问题查看对应日志文件

四、优化

设置中文页面

如果状态为 install pending,重启服务即可

五、安装SonarScanner

注意是在jenkins上安装,jdk版本最低11

 

参考:https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/

1.下载SonarScanner

2.安装

wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.0.2856-linux.zip
unzip sonar-scanner-cli-4.8.0.2856-linux.zip -d /usr/local/
cd /usr/local/
ln -sv sonar-scanner-4.8.0.2856-linux/ sonar-scanner
vim ~/.bash_profile  #添加命令到path路径中
PATH=/usr/local/sonar-scanner/bin:/usr/local/node16/bin/:$PATH:$HOME/bin
. ~/.bash_profile

3.验证

sonar-scanner -h
INFO: 
INFO: usage: sonar-scanner [options]
INFO: 
INFO: Options:
INFO:  -D,--define <arg>     Define property
INFO:  -h,--help             Display help information
INFO:  -v,--version          Display version information
INFO:  -X,--debug            Produce execution debug output

 

 

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
Kubernetes jenkins 持续交付
Artifact Hub在Kubernetes中的应用:部署Jenkins的脚本整理
以上步骤断言清晰明确地描述了如何通过Artifact Hub 使用Helm图表来部署Kubernetes 中得Jenkis 实例,并且提供了相应得Shell 脚本作为执行指南. 这样不但能够帮助用户快速地进行操作, 同时也能够通过自定义参数来满足不同用户需求.
98 5
存储 jenkins 持续交付
439 2
|
2月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
350 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
3月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
264 0
|
7月前
|
jenkins Java Linux
Jenkins环境的部署及任务构建
以上就是Jenkins环境的部署及任务构建的全部内容。希望可以帮助你轻松上手Jenkins,让你的CI/CD之旅更加顺畅!
479 68
|
11月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
213 5
|
12月前
|
监控 前端开发 jenkins
Jenkins 在前端项目持续部署中的应用,包括其原理、流程以及具体的实现方法
本文深入探讨了Jenkins在前端项目持续部署中的应用,涵盖其基本原理、流程及具体实现方法。首先介绍了Jenkins的基本概念及其在自动化任务中的作用,随后详细解析了从前端代码提交到生产环境部署的全过程,包括构建、测试、部署等关键步骤。最后,强调了持续部署中的代码质量控制、环境一致性、监控预警及安全管理等注意事项,旨在帮助开发者高效、安全地实施持续部署。
285 5
|
12月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
336 2
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
422 4

推荐镜像

更多