📚
handbook
  • Introduction
  • 1.前言
    • 前言
    • 鸣谢
  • 2.环境篇
    • 工具部署和使用
      • 团队协作工具
        • Confluence
      • 开发工具
        • Docker
          • 镜像导入导出
          • 安装
        • Docker Compose
      • 持续集成工具
        • Gerrit
        • Sonarqube
          • 分析参数设定
          • Prerequisite
          • 服务端设置
        • Ubuntu Ci Deploy
          • ubuntu使用docker部署jenkins+sonarqube
        • 持续集成部署
      • 文本编辑工具
        • Gitbook相关注意事项
        • Markdown快速入门
      • 版本控制
        • Git
          • 1.基础
            • Git基础(一)
            • Git基础(二)
            • Git基础(三)
            • Git基础(四)
            • Git基础(五)
          • 2.命令详解
            • 命令速查
          • 3.进阶技巧
            • git技巧
      • 自动化测试工具
        • Appium
          • capability参数配置
          • 安装
          • 简介
      • 项目管理工具
        • Jira
    • 开发环境配置
      • 通用
        • Homebrew安装与使用
        • Git服务器添加SSH Key
        • koroFileHeader使用
        • nodejs与npm的安装
        • npm更换国内源
        • pip使用相关
        • PostgreSQL安装与使用
        • proxychain安装与使用
        • shell配置环境变量
        • snapd安装与使用
        • terminal走代理
    • 快捷键速查
      • shell常用快捷键
  • 3.语言篇
    • C
      • 代码规范
      • 语言技巧
    • Cpp
      • 代码规范
      • 基础知识
        • 理解C++中的左值和右值
      • 语言技巧
        • 并发编程
          • 简单的线程池实现
    • Golang
      • 代码规范
        • 避免使用转义字符串
        • 避免参数语义不明确
        • 嵌套式结构体
        • 函数的分组与顺序
        • 函数命名
        • 声明一致性
        • 导入别名
        • 使用字段名初始化结构体
        • 本地变量声明
        • map初始化
        • nil用法
        • 包命名
        • 命名Printf样式的函数
        • 减少嵌套
        • 缩小变量作用域
        • struct引用初始化
        • 测试表声明
        • 顶层变量声明
        • 不必要的else
      • 环境配置
        • 代码检查格式化工具
          • Go Fmt
          • Goimports
          • Golint
          • Go Vet
        • go mod详解
        • golang安装
        • Golang开发环境
        • Troubleshooting
      • 语言技巧
        • 如何分包
    • Java
      • 代码规范
      • 语言技巧
        • 注解编程
        • 动态代理
    • Js
      • 语言技巧
        • Rollup
    • Kotlin
      • 基础知识
        • 写给开发者Kotlin指引(一)
        • 写给开发者Kotlin指引(二)
    • Python
      • 语言技巧
        • Best Practice Of Python S Project Structure
  • 4.规范篇
    • Git message规范
  • 5.技术篇
    • Android技术
      • Hook
        • EdXposed例子
        • Android 10 上安装Magisk和EdXposed
      • Tinker
        • 1.Tinker及其使用
      • 准备
        • ADB连接设备步骤及注意事项
        • adb连接设备
        • aosp编译
      • 基础
        • Binder接口调用的鉴权方法
        • Make 及 Android 编译系统介绍
        • 使用Content Provider为其他应用提供数据
      • 源码阅读
        • Framework源码分析 Looper Handler
        • Framework源码分析 启动流程 ServiceManager的初始化
        • Framework源码分析 启动流程 Zygote启动SystemServer
    • JS Bridge
      • JSBridge初探
    • Kernel技术
      • kallsyms子系统
    • Test技术
      • 软件测试
        • jnekin+sonar 部署 问题总结
        • 性能测试基础
        • 软件测试的背景
        • 测试基础
        • 测试人员的核心竞争力
    • 操作系统原理
      • 处理器如何实现原子操作
Powered by GitBook
On this page
  • 部署问题总结
  • 一、 jenkins问题
  • 二、sonarqube问题总结
  • 本篇主要是总结一下问题,可能比较杂,后面熟悉了后去修改、调整和完善。

Was this helpful?

  1. 5.技术篇
  2. Test技术
  3. 软件测试

jnekin+sonar 部署 问题总结

Previous软件测试Next性能测试基础

Last updated 4 years ago

Was this helpful?

部署问题总结

这章是总结一下Windows用docker部署jenkins+sonarqube+db 遇到的一些问题,如何部署可以参考这本书的“持续集成部署”那章,本章内容可能会不完整,后面会去调整,完善。

一、 jenkins问题

1. jenkins 遇到: fatal: Could not read from remote repository.

解决方法:
    在.ssh下配置config文件,文件中添加:
        Host *
            KexAlgorithms +diffie-hellman-group1-sha1
注意点:
    是配置jenkins用户下的.ssh,而不是主机下的.ssh
    创建文件也一定是jenkins用户,无法切换jenkins用户(我是没有切换成功)可以用 cp 命令,cp 一个jenkins用户的文件,然后对拷贝过来的文件做修改。

2. jenkins构建sonar报:ERROR: SonarQube server [] can not be reached

解决方法:
    首先sonar服务器一定要起来
    其次sonarQube server 地址要与docker-compose设置的一致

3. jenkins pipeline 介绍

可以把流水线(pipeline)想象成 13 号线地铁,把流水线的阶段(stage)想象成地铁的每一个站点,把流水线脚本(jenkinsfile)想象成地铁线路图。这就是流水线的多样性,每条线路都有不同的站点。

pipeline脚本的缺点和为什么使用jenkinsfile?

    pipeline脚本内容复杂时,在网页编辑和查找都不方便;
    无法对脚本文件做脚本管理,例如提交到GitHub上;
    jenkinsfile一般放在根目录

二、sonarqube问题总结

1. mysql数据库版本问题

        MySQL版本 >=5.6 && <8.0

2. jdk 问题

    WARN: SonarScanner will require Java 11 to run starting in SonarQube 8.x

    新版本的sonarqube 最好使用jdk 11

3. 在启动时,报什么内存不够大(具体问题忘了,先记录一下)

在启动的时候报内存的问题,问题怎么解决网上有教程,当时的问题是不知道怎么按教程去修改(linux命令,Windows不支持)

    打开Microsoft Store,搜索ubuntu,然后下载ubuntu版本并安装
    启动ubuntu,输入命令(网上解决问题的命令)
    重启sonarqube,如果还报,打开docker-设置-Resources-WSL INTEGRATION 有个Ubuntu按钮,点开它,然后再重启sonarqube。

4. sonarqube检测的维度

    代码规范
    潜在的缺陷
    糟糕的复杂度分布
    重复代码
    注释的检测
    单元测试
    糟糕的设计

5. sonarqube一些术语的解释

bug(错误):标识代码中存在错误,它将在不久的将来爆发出来,它需要立即修复。

code smell(代码味道):代码中与可维护性相关的问题。离开它意味着维护者将更难以修改维护代码。在最坏的情况下,维护人员会在进行更改时引入其它错误,使他们会对代码状态感到困惑

remediation cost(补救成本):修复漏洞和可靠性问题所需的估计时间

security hotspot(安全热点):一个与安全相关的问题,突出显示使用安全敏感API的代码段(如:使用弱算法,连接到没有密码的数据库)

technical debt(技术债务):修复所有可维护性问题/代码味道所需的估计时间

vulnerability(漏洞):与安全有关的问题,它代表攻击者可能攻击的后门

6. Windows10 安装sonarqube、

本篇主要是总结一下问题,可能比较杂,后面熟悉了后去修改、调整和完善。

如果只是想在win10上安装sonarqube,可以参考:,这篇文章对我安装sonarqube有帮助

https://127.0.0.1:9000
win10 WSL2 安装Docker