With Jenkins Pipeline for Kubernetes Cluster, you can create a continuous integration environment for your project

Jenkins Pipeline on Kubernetes Cluster

(Total Setup Time: 10 mins)


In this guide, I will create my own declarative Jenkins pipeline. With this, I can build, package and run my Spring Boot Hello-World application.


Configuring Jenkins and Gitea

(1 mins)


First, by following my previous post, I will install Git.

# Get the Jenkins pod
kubectl get pods

# Get a shell in container
kubectl exec --stdin --tty jenkins-7c5ffc6f55-c8fmj -- /bin/bash

# Search for Git
which git

# Install Git if not present
apt-get install git


Second, navigate to Jenkins -> Global Tool Configuration. Check if Git setup correctly.



Third, navigate to Gitea -> Site Administration Tool Configuration. Create a new organization.



Testing Jenkins Pipeline

(9 mins)


With the Gitea webhooks in place, Jenkins master will trigger a build on each Git commit. You may configure Jenkins to send email alert when the build fails.

First, this is my Jenkinsfile:

pipeline {
  agent any
  stages {
    stage('Checkout') {
      steps {
        checkout scm
    stage('Build') {
      steps {
        sh './mvnw clean verify'


Second, when Apache Maven builds, it downloads all dependency jars.



Last, this is my final build success result:



That’s all to it! My Jenkins Pipeline for Kubernetes Cluster works in sync with each Git commits.

You may follow my next guide to improve on the maven build time.




There’s no such executable git in PATH

You can clear this error by installing Git in the Jenkins pod.



For a permanent solution, re-build the jenkins docker image from the previous post. This is the modified Dockerfile:

FROM balenalib/raspberrypi4-64-debian-openjdk:11-bullseye

ENV JENKINS_HOME /var/jenkins_home

RUN apt-get update \
  && apt-get install -y --no-install-recommends curl git

RUN curl -fL -o /opt/jenkins.war



CMD ["/bin/bash","-c","java -jar /opt/jenkins.war"]


Build the image and tag it

docker build -t dojocube/jenkins:2.0 .


[Gitea] Notifying branch build status: PENDING Build started

This error happens when Jenkins cannot notify Gitea. You can fix this error by creating a new organization at Gitea.



Jenkins pipeline notifies Gitea on each build status:



./mvnw: Permission denied

My initial build failed because of the file permission issue.

+ ./mvnw clean verify
/var/jenkins_home/workspace/dojocube_hello-world_master@tmp/durable-c269e2ef/ 1: ./mvnw: Permission denied


You can fix this issue by changing mode for mvnw and push the changes to gitea:

chmod +x mvnw
git update-index --chmod=+x mvnw