zoukankan      html  css  js  c++  java
  • Docker部署jenkins+sonar+gitlab代码检测系统

    SonarQube是管理代码质量一个开放平台,能够快速的定位代码中潜在的或者明显的错误,提高代码质量。如果想单纯测试或者初期使用SonarQube的话,利用docker来搭建是非常方便的。

    原理
    通过Jenkins中gitlab插件,自动获取gitlab更新动作,然后触发SonarQube scanner功能,把最新提交代码的检测结果发送到SonarQube系统中。
    1.Jenkins——自动化CI/CD系统,自动拉取代码。
    2.SonarQube——代码检测系统,负责检测gitlab中的代码。
    3.Gitlab——代码仓库,存储代码。

    搭建
    Jenkins

    docker run -d - p 8888:8080 -p 5000:5000 -v /data/jenkins:/var/jenkins_home jenkins/jenkins:latest

    #8080为对外提供访问端口。
    #-v参数是把容器/var/jenkins_home目录进行持久化,方便后续的配置操作。
    #拉取最新的Jenkins镜像版本。

    SonarQube

    docker run -d -p 9000:9000 --name sonarqube  sonar:latest

    #9000对外提供访问端口
    #默认登陆密码是admin:admin
    #注意点:SonarQube7.9版本后不再支持MySQL数据库,只有postgressql,但如果不涉及到升级可以考虑不使用额外的数据库,使用内部提供的数据库即可。

    配置
    1.SonarQube
    SonarQube配置只涉及到2个配置点:①新增中文插件,下载对于版本的sonar-l10n-zh-plugin插件,然后使用docker命令拷贝到容器/opt/sonarqube/extensions/plugins路径后,重启服务器②配置用户token,交予Jenkins。

    2.Jenkins
    配置系统配置,新增SonarQube服务器推送地址,其中的token值就是SonarQube用户提供的。

    新增SonarQube scanner系统工具,使Jenkins拥有SonarQube scanner的功能。

    配置项目中SonarQube操作案例。
    ①配置时间变量,方便后期SonarQube版本管理

    ②配置gitlab拉取地址

    ③在构建选择项中,选择Execute SonarQube Scanner,根据具体情况填写内容

    sonar.projectKey=zhouzhifei#项目key
    sonar.projectName=zhouzhifei#项目名称
    sonar.projectVersion=${date}#可以根据时间来定义版本号,方便查看
    sonar.sources=.#项目路径
    sonar.language=js#项目语言
    sonar.sourceEncoding=UTF-8#项目编码
    sonar.scm.disabled=true#取消scm

    补充:
    Gitlab中提供了webhook的功能,可以考虑与Jenkins相结合,形成自动触发的效果,可以根据自身网络情况进行自动化触发项目!

  • 相关阅读:
    详解package-lock.json的作用
    Cisco计网实验配置总结
    使用Vue制作了一个计算机网络中子网划分部分的简陋计算工具
    Prettier-Code Formater代码格式化插件使用教程
    Node.js中npx命令的使用方法、场景
    从几道题目带你深入理解Event Loop_宏队列_微队列
    简单模拟实现javascript中的call、apply、bind方法
    git使用说明书
    使用闭包模拟实现AMD模块化规范
    if执行后else if即使满足条件也不再执行
  • 原文地址:https://www.cnblogs.com/zhouzhifei/p/12599814.html
Copyright © 2011-2022 走看看