代码扫描平台SonarQube搭建保姆级教程

代码扫描工具SonarQube,想必大家也有了解,就是那种不明觉厉的存在,最近刚好有需求,需要自己搭建,下面就给大家记录下搭建的过程。

不了解的,可以先看看 https://github.com/SonarSource/sonarqube

 有一个初步认识。

话不多说,开干!

一,准备工作

1,数据库:mysql, postgressql都可以,不过最新版本的已经不能用mysql了, 所以用惯了mysql的同学,可以去选之前的稳定版本的sonarQube安装。

2,JDK:用JDK8就可以,需要加入到环境变量中去,不多说,dddd。

3,Maven:版本不限,我用的是最新的3.9.3,也是要加到环境变量。

二,下载SonarQube

下载链接:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip

SonarQube 7.8 是最后一个支持 MySQL 的版本,也是最后一个支持 jdk1.8 的版本,也就是说如果要使用 7.9 及以上的版本,SonarQube 的数据库就不能为 MySQL,并且需要 jdk11,但是公司要求要使用 MySQL,所以选择了 SonarQube 7.8,下面是具体的安装步骤。

注意 SonarQube 7.8 只支持数据库 5.6 及以上 8.0 以下的版本,其他版本的MySQL不支持。

三,修改配置

1, 修改数据库配置
下载好之后,解压,然后进到/sonarqube/sonarqube-7.8/conf目录下

vi sonar.properties

找到jdbc相关的配置

sonar.jdbc.username=root
sonar.jdbc.password=xxxx

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

改成你的配置就好了, 同时记得在上面的数据库里建一个schema是sonar的数据库

2,修改系统进程最大打开文件数

vim /etc/security/limits.conf

在尾部添加以下内容:

如果已经有了,就忽略,通常是已经有了

* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535

3,修改 vm.max_map_count 的大小

vim /etc/sysctl.conf

在尾部添加以下内容:

vm.max_map_count=655360

让配置生效:执行命令 sysctl -p

4,创建用户

不支持用root账号启动,否则会启动报错。

创建一个sonar普通用户

useradd sonar 

给用户授权SonarQube目录的权限
chown -R sonar:sonar /home/sonarqube/sonarqube-7.8/ 

四,启动项目

进入到/sonarqube/sonarqube-7.8/bin/linux-x86-64目录

sh sonar.sh

看日志在:/sonarqube/sonarqube-7.8/logs

tail  -f  sonar.log

因为启动的时候,要创建mysql数据库表,要安装es,所以第一次启动比较慢,直到看到以下日志,说明已经启动好了

五,访问SonarQube的web端

默认端口是9000, 账号密码是:admin/admin 

地址:http://安装sonarqube的服务器IP:9000

如果是云服务器,那就请在安全组中放行 9000 端口。 
firewall-cmd --permanent --add-port=9000/tcp firewall-cmd --reload

温馨提示:SonarQube依赖于ES,ES会占用大量的计算机资源,如果计算机配置太低会启动失败,我的配置是4核8g,能正常启动。 启动失败具体的问题请查看 /sonarqube/sonarqube-7.8/logs/ 下的日志文件。

六,本地扫描代码

1,修改本地Maven配置

打开本地的Maven的settings文件,在profiles节点下新增profile

<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <sonar.login>admin</sonar.login>
        <sonar.password>admin</sonar.password>
        <sonar.host.url>http://SonarQube服务器IP:9000</sonar.host.url>
    </properties>
</profile>

2, 执行maven命令,扫描代码

进到你要扫描的项目目录下,执行命令行命令
mvn sonar:sonar

3, 查看扫描结果

码字不易,记得点赞关注哟

<think>好的,用户现在在寻找关于Dify搭建的详细教程,特别是保姆的完整指南。我需要根据他们提供的引用内容来组织回答。首先,用户提到了引用[2],里面提到了使用Docker部署Dify,然后整合Ollama和私有化知识库的步骤。我应该详细分解这些步骤,确保结构清晰,符合用户要求的系统指令,比如使用正确的中文回答、分步骤说明,并且生成相关问题。 首先,我需要确认用户的需求是搭建Dify平台,可能用于构建知识库应用。引用中的步骤包括Docker部署、Ollama集成、知识库创建和嵌入模型选择。需要将这些步骤逐一解释,确保每个部分都详细,比如安装Docker的部分可能需要先检查系统是否已安装,如果没有,需要指导用户如何安装。然后,部署Dify时,可能需要拉取镜像、运行容器,并检查服务是否正常启动。 接下来是集成Ollama,用户可能不熟悉Ollama是什么,可能需要简要说明它是一个本地运行大模型的工具,然后给出具体的安装和启动命令。然后配置Dify的后台设置,修改模型配置,这里需要确保用户知道如何找到配置文件,可能需要给出路径或者具体的配置示例。 创建知识库的部分,需要引导用户进入Dify界面,创建知识库,上传文档,并选择嵌入模型。这里需要强调嵌入模型的重要性,比如选择beg-m3模型的高效性,以及如何处理文档格式。完成嵌入后,测试知识库的问答功能,确保一切正常。 最后的应用创建部分,用户可能需要将知识库集成到聊天应用中,这里需要指导用户如何在Dify中创建应用,并绑定知识库,设置对话流程等。 同时,用户提到内网穿透,引用[1]是关于Windows搭建网站和内网穿透的内容,虽然用户主要关注Dify,但可能需要在内网穿透部分简要提及相关工具,如frp或Ngrok,并引用[1]作为参考,但根据用户的问题,可能不需要深入展开,除非用户特别询问。 生成的相关问题需要围绕Dify部署的常见问题,比如优化部署、解决集成问题、模型选择、私有化知识库管理以及内网穿透的具体方法。这些问题应该帮助用户进一步解决可能遇到的挑战。 最后,检查回答是否符合所有系统指令:使用正确的中文、分步骤、LaTeX格式正确(但当前内容中可能没有数学表达式,所以不需要处理)、生成相关问题,并在引用处正确标注[^1]和[^2]。 现在需要将这些思考整理成一个结构清晰、步骤分明的回答,确保用户能够按照步骤操作,同时自然地插入引用标注。</think>以下是关于Dify私有化部署的保姆教程,整合了Docker部署、Ollama集成与知识库创建的完整流程: ### 一、Docker环境准备 1. 安装Docker Desktop(Windows/Mac)或Docker Engine(Linux) 2. 验证安装:终端执行`docker --version`,显示版本号即成功[^2] ### 二、部署Dify平台 ```bash # 拉取最新镜像 docker pull dify/dify:latest # 启动容器(含PostgreSQL/Redis) docker run -d --name dify \ -p 8080:8080 \ -v /data/dify/storage:/app/dify/storage \ dify/dify:latest ``` 部署完成后访问`http://localhost:8080`进入控制台 ### 三、Ollama集成配置 1. 安装Ollama(支持macOS/Linux/Windows) ```bash # Linux安装示例 curl -fsSL https://ollama.com/install.sh | sh ollama serve ``` 2. 在Dify后台修改模型配置: ```yaml # config.yaml ollama: base_url: http://localhost:11434 models: - llama2 - mistral ``` ### 四、知识库创建流程 1. **新建知识库** - 登录Dify控制台 → 知识库 → 新建 - 命名规范建议:`部门_类型_版本`(如`技术部_产品手册_v1.2`) 2. **文档上传规范** - 支持格式:PDF/DOCX/Markdown/TXT - 单文件建议<20MB - 批量上传使用ZIP压缩包 3. **嵌入模型选择** ```python # beg-m3模型配置示例 embedding_model = "BAAI/bge-m3" max_seq_length = 8192 ``` 该模型支持中英文混合检索,适合长文本处理 ### 五、应用创建与测试 1. 创建对话型应用 2. 绑定已创建的知识库 3. 配置对话流程: ``` 用户输入 → 意图识别 → 知识库检索 → 模型生成 → 结果反馈 ``` 4. 使用测试窗口验证问答准确性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东皋长歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值