diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000000000000000000000000000000000000..3d5cf6745f14eb9216d3fc5aeb0e80d8d7daefe0
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,72 @@
+pipeline {
+    agent any
+
+    
+
+    
+
+    environment {
+        PROJECT_ID = "tech-rnd-project"
+        CLUSTER_NAME = "cluster"
+        LOCATION = "us-central1-a"
+        CREDENTIALS_ID = "kubernetes"
+        MASTER_SERVICE_ACCOUNT_EMAIL = "example@tech-rnd-project.iam.gserviceaccount.com"
+        
+    }
+
+    stages {
+        stage('Scm Checkout') {
+            steps {
+                checkout scm
+            }
+        }
+
+        
+        stage('Build Docker Image') {
+            steps {
+                sh 'whoami'
+                sh 'sudo chmod 777 /var/run/docker.sock'
+                sh 'sudo apt update'
+                sh 'sudo apt install software-properties-common'
+                sh 'sudo add-apt-repository ppa:cncf-buildpacks/pack-cli'
+                sh 'sudo  apt-get update'
+                sh 'sudo apt-get install pack-cli'
+                sh 'pack build java-postgress --builder gcr.io/buildpacks/google-22/builder@sha256:ffa092c09ffb147b2ce9658eb6590aa9af2caffb2d513ab8546bb510b74e0225'
+            }
+        }
+    
+
+        stage('Push Docker Image') {
+            steps {
+                script {
+                    echo 'Push Docker Image'
+                    sh 'gcloud config set auth/impersonate_service_account ${MASTER_SERVICE_ACCOUNT_EMAIL}'
+                    sh 'docker tag java-postgress us-central1-docker.pkg.dev/tech-rnd-project/container-node/nodejs'
+                    sh 'gcloud auth configure-docker us-central1-docker.pkg.dev'
+                    sh 'docker push us-central1-docker.pkg.dev/tech-rnd-project/container-node/nodejs'
+                }
+            }
+        }
+    
+
+        stage('Deploy to K8') {
+            steps {
+                script {
+                    sh "gcloud config set project tech-rnd-project"
+                    sh "gcloud container clusters get-credentials cluster --zone us-central1-a"
+                    sh 'kubectl apply -f k8/deployment.yaml'
+                    sh 'kubectl apply -f k8/service.yaml'
+                }
+            }
+        }
+    
+    }
+    post {
+        always {
+            emailext to: 'email_id',
+            subject: "jenkins build:${currentBuild.currentResult}: ${env.JOB_NAME}",
+            body: "${currentBuild.currentResult}: Job ${env.JOB_NAME}\nMore Info can be found in the attached log",
+            attachLog: true
+        }
+    }
+}
diff --git a/k8/deployment.yaml b/k8/deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aaf972073abe648bc70b640ffbec28611e5c084c
--- /dev/null
+++ b/k8/deployment.yaml
@@ -0,0 +1,19 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: test
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: test
+  template:
+    metadata:
+      labels:
+        app: test
+    spec:
+      containers:
+        - name: test
+          image: us-central1-docker.pkg.dev/tech-rnd-project/container-node/nodejs
+          ports:
+            - containerPort: 8080
diff --git a/k8/service.yaml b/k8/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1f5460d432f221fb8ad98bb9d6522e908069c302
--- /dev/null
+++ b/k8/service.yaml
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: test
+spec:
+  ports:
+    - port: 8080
+      targetPort: 8080
+  type: LoadBalancer
+  selector:
+    app: test