【问题标题】:Running sonarqube in jenkinsfile's containertemplate在 jenkinsfile 的容器模板中运行 sonarqube
【发布时间】:2020-03-24 04:15:31
【问题描述】:

我正在尝试使用 ContainerTemplate 构建 sonarqube - 我正在使用 this 图像(newtmitch/sonar-scanner)。

当我运行 docker run -ti -v $(pwd):/usr/src newtmitch/sonar-scanner 时,它会连接到我的本地声纳(在 sonar-project.properties 中定义),并获得声纳测试的日志。

但是当我改用 podtemplate 时,它​​没有给我任何输出(只有“运行”)。为什么容器模板不运行声纳扫描仪?这是我的代码的相关部分:

podTemplate(label: 'jenkins-pipeline', containers: [
    containerTemplate(name: 'jnlp', image: 'jenkinsci/jnlp-slave:2.62', args: '${computer.jnlpmac} ${computer.name}', workingDir: '/home/jenkins', resourceRequestCpu: '500m', resourceLimitCpu: '500m', resourceRequestMemory: '1024Mi', resourceLimitMemory: '1024Mi'),
    containerTemplate(name: 'docker', image: 'docker:1.12.6', command: 'cat', ttyEnabled: true),
    containerTemplate(name: 'maven', image: 'maven:3.5.0-jdk-8', command: 'cat', ttyEnabled: true),
    containerTemplate(name: 'sonar-scanner-newtmitch', image: 'newtmitch/sonar-scanner', command: 'cat', ttyEnabled: true),
    containerTemplate(name: 'kubectl', image: 'lachlanevenson/k8s-kubectl:v1.8.3', command: 'cat', ttyEnabled: true)
],
volumes:[
    hostPathVolume(mountPath: '/var/run/docker.sock', hostPath: '/var/run/docker.sock'),
]){

  node ('jenkins-pipeline') {
     container("maven"){
       checkout scm
     }
     container("sonar-scanner-newtmitch"){
       stage("run sonar scanner"){
         sh "echo running"
       }
     }
}

【问题讨论】:

    标签: sonarqube jenkins-pipeline sonarqube-scan


    【解决方案1】:

    我已经解决了这个问题,但忘记了问题是开放的。我看到容器模板覆盖了声纳图像的入口点。所以我不得不添加阶段:

    stage("scan"){
      sh "sonar-scanner"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2019-06-23
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 2021-12-10
      相关资源
      最近更新 更多