Skip to content

Jenkins GKE Plugins Null Pointer Exception #128

@icpl-jatin-panchal

Description

@icpl-jatin-panchal

While deploying to GKE by using Jenkins GKE plugins ( v.0.8.3) , i am getting below error in Jenkins:

java.lang.NullPointerException
at com.google.jenkins.plugins.k8sengine.Manifests$ManifestObject.getKind(Manifests.java:76)
at com.google.jenkins.plugins.k8sengine.Manifests.lambda$getObjectManifestsOfKinds$1(Manifests.java:212)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at com.google.jenkins.plugins.k8sengine.Manifests.getObjectManifestsOfKinds(Manifests.java:213)
at com.google.jenkins.plugins.k8sengine.KubernetesEngineBuilder.addMetricsLabel(KubernetesEngineBuilder.java:302)
at com.google.jenkins.plugins.k8sengine.KubernetesEngineBuilder.perform(KubernetesEngineBuilder.java:266)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:112)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:116)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:71)
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

I have tried to deploy same manifest file to kubernetes cluster by using kubectl command that is working fine, but from Jenkins its failing.

Additionally one observation is that if in file only kind: Deployment is there, then its working but if i am adding further section for kind: Service which is for NodePort then its failing, while kind: Service with ClusterIP is working fine.

Manifest File :

apiVersion: apps/v1
kind: Deployment
metadata:
name: my_deployment
namespace: cloud
labels:
app: my_deployment
spec:
replicas: 1
selector:
matchLabels:
app: my_service
strategy:
type: Recreate
template:
metadata:
labels:
app: my_deployment
spec:
containers:
- name: my_deployment
image: my_deployment:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
imagePullSecrets:
- name: registrypullsecret


apiVersion: v1
kind: Service
metadata:
name: my_service
namespace: cloud
labels:
app: my_service
spec:
type: NodePort
selector:
app: my_deployment
ports:

  • protocol: TCP
    port: 80
    targetPort: 8080
    nodePort: 31190

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions