zoukankan      html  css  js  c++  java
  • gitlab-ci集成sonarqube完成代码检测

    目的:每提交一次代码即触发一次sonarqube完成代码扫描

    一、基本认知

    1、gitlab-ci

    GitLab-CI就是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如Jenkins)。而且GitLab8.0以后的版本是默认集成了GitLab-CI并且默认启用的。

    2、gitlab-runner

    GitLab-Runner是配合GitLab-CI进行使用的。一般地,GitLab里面的每一个工程都会定义一个属于这个工程的软件集成脚本,用来自动化地完成一些软件集成工作。当这个工程的仓库代码发生变动时,比如有人push了代码,GitLab就会将这个变动通知GitLab-CI。这时GitLab-CI会找出与这个工程相关联的Runner,并通知这些Runner把代码更新到本地并执行预定义好的执行脚本。

    Runner类型

    GitLab-Runner可以分类两种类型:Shared Runner(共享型)Specific Runner(指定型)

    Shared Runner:这种Runner(工人)是所有工程都能够用的。只有系统管理员能够创建Shared Runner。

    Specific Runner:这种Runner(工人)只能为指定的工程服务。拥有该工程访问权限的人都能够为该工程创建specific runner。

    二、安装gitlab-runner(可以在gitlab服务器上,也可以在别的服务器上)

    1、下载包 gitlab-runner-12.7.0-1.x86_64.rpm ,地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/

    #  yum install -y gitlab-runner-12.7.0-1.x86_64.rpm

    或者直接下载源,在线安装。

    # curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
    # yum install gitlab-runner

    2、注册gitlab-runner

    ① Shared Runner注册的url和token:

    ②  Specific Runner注册的url和token:

     

     ③ 注册(shared runner)

    #  gitlab-runner register
    [root@test2 SHELL]# gitlab-runner register
    Runtime platform                                    arch=amd64 os=linux pid=53435 revision=d0b76032 version=12.0.2
    Running in system-mode.                            
                                                       
    Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
    http://172.16.19.104:10081/     #输入URL
    Please enter the gitlab-ci token for this runner:
    -rwbBw2y7GmL7smxuoxt  #输入TOKEN
    Please enter the gitlab-ci description for this runner:
    [test2.laozios.com]: my-runner      #后面脚本需要用到
    Please enter the gitlab-ci tags for this runner (comma separated):
    sonar                                   #后面脚本需要用到
    Registering runner... succeeded                     runner=-rwbBw2y
    Please enter the executor: parallels, kubernetes, virtualbox, docker+machine, docker-ssh+machine, docker, docker-ssh, shell, ssh:
    shell                                 #通过shell
    Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 
    

    ④  查看已注册的runner

     三、编写.gitlab-ci.yml文件

    sonar_preview:
      stage: test
      script:
        - /usr/local/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=java -Dsonar.sources=. -Dsonar.host.url=http://172.16.68.154:9000  -Dsonar.login=13585323c4c8ac257c590d6e49c7b59dda5192f8
      only:
        - master
      tags:
        - my-runner

    四、提交代码测试

     

  • 相关阅读:
    线性筛素数
    m个苹果放入n个盘子问题
    幸运的袋子
    [HNOI2013]消毒
    [SDOI2016]数字配对
    [SCOI2015]小凸玩矩阵
    [JLOI2008]将军
    [HEOI2016/TJOI2016]游戏
    [洛谷4329/COCI2006-2007#1] Bond
    [BZOJ1324]Exca王者之剑
  • 原文地址:https://www.cnblogs.com/lina-2159/p/13474542.html
Copyright © 2011-2022 走看看