【发布时间】:2020-10-04 04:28:51
【问题描述】:
我们正在使用 Google kubernetes engine-plugin- 0.8.1 for Jenkins 通过 yaml 文件部署应用程序,奇怪的是,当我们使用 python 开发应用程序时,我们遇到了 java 异常。 以下是详细的错误信息:
java.lang.NullPointerException
at com.google.jenkins.plugins.k8sengine.Manifests$ManifestObject.addLabel(Manifests.java:114)
at com.google.jenkins.plugins.k8sengine.KubernetesEngineBuilder.addMetricsLabel(KubernetesEngineBuilder.java:303)
at com.google.jenkins.plugins.k8sengine.KubernetesEngineBuilder.perform(KubernetesEngineBuilder.java:266)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:80)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:67)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE
请注意,构建 Docker 映像步骤并将其推送到 DockerHub 工作正常,正如在 jenkinsfile 中声明的那样,以下是我的 Jenkinsfile,其中正在部署到 kubernetes 集群。
stage("Step 3: Deploy BUILT artifacts to K8"){
steps{
step([$class: 'KubernetesEngineBuilder', projectId: env.PROJECT_ID, clusterName: env.CLUSTER_NAME, location: env.LOCATION, manifestPattern: 'configmap-staging.yaml', credentialsId: env.CREDENTIALS_ID, verifyDeployments: true])
step([$class: 'KubernetesEngineBuilder', projectId: env.PROJECT_ID, clusterName: env.CLUSTER_NAME, location: env.LOCATION, manifestPattern: 'deployment.yaml', credentialsId: env.CREDENTIALS_ID, verifyDeployments: true])
}
非常感谢任何帮助,因为这是我们第一次开始实施 CI/CD。
【问题讨论】:
-
您没有指定您正在使用的插件版本,也没有指定您是实际部署到 GKE 还是只是蹲在他们的插件上,但抛开这些假设,似乎无法@ 987654321@;你最好的选择是work with their GitHub issues,因为他们似乎有 NPE 问题
-
感谢您的回复,@mdaniel 插件版本是 0.8.1,我们实际上正在将 docker app 部署到 gke。
-
0.8.1 不存在(并且会使用多年)看起来您正在使用
google-kubernetes-engine-plugingithub.com/jenkinsci/google-kubernetes-engine-plugin -
是的,我使用的是 google kubernetes 插件,我在问题中进行了更正,谢谢。
标签: jenkins kubernetes google-cloud-platform jenkins-plugins