-
Notifications
You must be signed in to change notification settings - Fork 66
Description
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