如何解决如何在 Jenkins Pipeline 脚本中使用 Kaniko 构建 Docker Image
我想在我的 jenkins 脚本(groovy)文件中使用 Kaniko 来构建图像。
我的 jenkins 中没有其他配置,我只想使用我的 jenkins 脚本
脚本如下所示:
podTemplate(label: 'jenkins-kaniko',containers:[
containerTemplate(name: 'kaniko',image: 'gcr.io/kaniko-project/executor:debug',command: '/busyBox/cat',ttyEnabled: true)
],volumes: [
secretVolume(mountPath: '/home/jenkins/.aws/',secretName: 'aws-secret'),configMapVolume(mountPath: '/kaniko/.docker/',configMapName: 'docker-config')
])
{
node ('jenkins-kaniko') {
environment {
registry = ""
registryCredential = ''
imageName = 'jenkins_slave'
dockerImage = ''
//dockerHome = tool 'docker_latest'
//PATH = "$dockerHome/bin:$PATH"
}
stages {
stage('Prepare') {
steps {
echo "CheckOut"
script {
//here is checkout git code
}
}
}
stage('Building image') {
/* agent {
label 'jenkinskaniko'
}
*/
steps {
dir('jenkins-slave'){
echo 'build image'
container('kaniko'){
sh "/kaniko/executor --dockerfile `pwd`/Dockerfile `pwd` --insecure --skip-tls-verify --cache=true --destination= jenkins_slave:${env.BUILD_ID}"
}
}
}
}
stage('Deploy Image'){
steps {
script {
docker.withRegistry(registry) {
dockerImage.push()
}
}
}
}
}
}
}
但我已经尝试了几次并出现此错误:
创建的Pod:kubernetes crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。 [警告][crpcc-jenkins-prodslaves/jenkins-kaniko-hrfk9-j06mk][FailedScheduling] 0/33 个节点可用:33 个节点与节点选择器不匹配。
有什么解决办法吗?
解决方法
你能试试下面的脚本吗:
def label = "goweb-1.$BUILD_NUMBER-pipeline"
podTemplate(label: label,containers: [
containerTemplate(name: 'kaniko',image: 'gcr.io/kaniko-project/executor:debug',command: '/busybox/cat',ttyEnabled: true)
],volumes: [
secretVolume(mountPath: '/root/.docker/',secretName: 'dockercred')
]) {
node(label) {
stage('Stage 1: Build with Kaniko') {
container('kaniko') {
sh '/kaniko/executor --context=git://github.com/repository/project.git \
--destination=docker.io/repository/image:tag \
--insecure \
--skip-tls-verify \
-v=debug'
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。