运行 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"
}
我正在尝试使用 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"
}