运行 jenkinsfile 的容器模板中的 sonarqube

Running sonarqube in jenkinsfile's containertemplate

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

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

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

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"
       }
     }
}

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

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