diff --git a/Dockerfile b/Dockerfile
index 4324eba4..543e95d0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,3 @@
-# test
-FROM bitnami/tomcat
+FROM bitnami/tomcat:latest
ENV ALLOW_EMPTY_PASSWORD=yes
-COPY addressbook.war /opt/bitnami/tomcat/webapps_default/addressbook.war
+COPY target/*.war /opt/bitnami/tomcat/webapps_default/addressbook.war
diff --git a/Jenkinsfile b/Jenkinsfile
index 57caa9d7..d66c59ab 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,19 +1,69 @@
pipeline {
agent any
+
+ environment {
+ GIT_REPO = 'https://github.com/suhassg25/addressbook.git'
+ AWS_REGION = 'ap-south-1'
+ ECR_REPO = '409171460696.dkr.ecr.ap-south-1.amazonaws.com/jenkinsecr'
+ IMAGE_TAG = 'latest'
+ IMAGE_URI = "${ECR_REPO}:${IMAGE_TAG}"
+ EKS_CLUSTER = 'my-cluster'
+ }
+
stages {
- stage('Compile') {
- steps {
- sh 'mvn compile'
+
+ stage('Clean Workspace') {
+ steps {
+ deleteDir()
+ }
+ }
+
+ stage('Clone') {
+ steps {
+ git url: "${GIT_REPO}", branch: 'master'
+ }
+ }
+
+ stage('Build') {
+ steps {
+ sh 'mvn clean package'
+ }
+ }
+
+ stage('Login to ECR') {
+ steps {
+ sh '''
+ aws ecr get-login-password --region $AWS_REGION \
+ | docker login --username AWS --password-stdin $ECR_REPO
+ '''
+ }
+ }
+
+ stage('Build Docker Image') {
+ steps {
+ sh 'docker build -t $IMAGE_URI .'
}
}
- stage('test') {
- steps {
- sh 'mvn test'
+
+ stage('Push Image') {
+ steps {
+ sh 'docker push $IMAGE_URI'
}
}
- stage('package') {
- steps {
- sh 'mvn package'
+
+ stage('Deploy to EKS') {
+ steps {
+ sh '''
+ echo "Current directory:"
+ pwd
+
+ echo "List files:"
+ ls -l
+ aws eks update-kubeconfig --region $AWS_REGION --name $EKS_CLUSTER
+
+ kubectl apply -f deployment.yaml
+ kubectl apply -f servicelb.yaml
+ '''
}
}
}
diff --git a/deployment.yaml b/deployment.yaml
index ab6ace49..61bf73ca 100644
--- a/deployment.yaml
+++ b/deployment.yaml
@@ -1,4 +1,4 @@
-# test
+
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -19,7 +19,7 @@ spec:
app: mydeploy
spec:
containers:
- - image: rajendrait99/addressbook:1.0
+ - image: 409171460696.dkr.ecr.ap-south-1.amazonaws.com/jenkinsecr:latest
name: addressbook
ports:
- containerPort: 8080
diff --git a/pom.xml b/pom.xml
index 6bebf532..fa03adac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.edurekademo.tutorial
addressbook
war
- 2.0
+ 3.4
Vaadin Addressbook example
@@ -79,7 +79,7 @@
javax.servlet
javax.servlet-api
3.0.1
- compile
+ provided