diff --git a/Dockerfile b/Dockerfile
index 412e7dfa..8a533c5c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,3 +1,4 @@
+## Added files
FROM adoptopenjdk/openjdk11:alpine-slim as build
WORKDIR /workspace/app
@@ -15,5 +16,6 @@ ARG DEPENDENCY=/workspace/app/target/dependency
COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF
COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app
+ENTRYPOINT ["java","-Dserver.port=${PORT}","-cp","app:app/lib/*","com.example.demo.DemoApplication"]
EXPOSE 8080
-ENTRYPOINT ["java","-cp","app:app/lib/*","com.example.demo.DemoApplication"]
\ No newline at end of file
+ENTRYPOINT ["java","-cp","app:app/lib/*","com.example.demo.DemoApplication"]
diff --git a/Dockerfile.prod b/Dockerfile.prod
new file mode 100644
index 00000000..cc36238b
--- /dev/null
+++ b/Dockerfile.prod
@@ -0,0 +1,15 @@
+
+# Use an official OpenJDK runtime as a parent image
+FROM openjdk:17-jdk-slim
+
+# Set the working directory in the container
+WORKDIR /app
+
+# Copy the JAR file into the container at /app
+COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar
+
+# Expose the port that your app will run on
+EXPOSE 8080
+
+# Run the JAR file
+ENTRYPOINT ["java", "-jar", "/app/demo.jar"]
diff --git a/Dockerfile.qa b/Dockerfile.qa
new file mode 100644
index 00000000..b1729c01
--- /dev/null
+++ b/Dockerfile.qa
@@ -0,0 +1,14 @@
+# Use an official OpenJDK runtime as a parent image
+FROM openjdk:17-jdk-slim
+
+# Set the working directory in the container
+WORKDIR /app
+
+# Copy the JAR file into the container at /app
+COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar
+
+# Expose the port that your app will run on
+EXPOSE 8080
+
+# Run the JAR file
+ENTRYPOINT ["java", "-jar", "/app/demo.jar"]
diff --git a/Jenkinsfile-publishHtml-1 b/Jenkinsfile-publishHtml-1
new file mode 100644
index 00000000..87845517
--- /dev/null
+++ b/Jenkinsfile-publishHtml-1
@@ -0,0 +1,14 @@
+pipeline {
+ agent any
+ options {
+ buildDiscarder(logRotator(numToKeepStr: '5'))
+ }
+ stages {
+ stage('Build') {
+ steps {
+ sh './mvnw clean install site surefire-report:report'
+ sh 'tree'
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Jenkinsfile-publishHtml-2 b/Jenkinsfile-publishHtml-2
new file mode 100644
index 00000000..478fbe41
--- /dev/null
+++ b/Jenkinsfile-publishHtml-2
@@ -0,0 +1,19 @@
+pipeline {
+ agent any
+ options {
+ buildDiscarder(logRotator(numToKeepStr: '5'))
+ }
+ stages {
+ stage('Build') {
+ steps {
+ sh './mvnw clean install site surefire-report:report'
+ sh 'tree'
+ }
+ }
+ }
+ post {
+ success {
+ publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'target/site', reportFiles: 'surefire-report.html', reportName: 'Surefire Report', reportTitles: '', useWrapperFileDirectly: true])
+ }
+ }
+}
\ No newline at end of file
diff --git a/JenkinsfileCI b/JenkinsfileCI
new file mode 100644
index 00000000..f7fff951
--- /dev/null
+++ b/JenkinsfileCI
@@ -0,0 +1,155 @@
+def notifySlack(String buildStatus = 'SUCCESS') {
+ def colorMap = [
+ 'SUCCESS': 'good',
+ 'FAILURE': 'danger',
+ 'UNSTABLE': 'warning',
+ 'ABORTED': '#808080'
+ ]
+
+ def message = """
+ *Build Status*: ${buildStatus}
+ *Job*: ${env.JOB_NAME}
+ *Build Number*: #${env.BUILD_NUMBER}
+ //*Branch*: ${gitbranch}
+ *Duration*: ${currentBuild.durationString}
+ *Build URL*: ${env.BUILD_URL}
+ *Environment*: ${ENVIRONMENT}
+ """.stripIndent()
+
+ slackSend(
+ channel: config.SLACK_CHANNEL,
+ color: colorMap[buildStatus],
+ message: message
+ )
+}
+node('master') {
+ checkout scm
+ def data_helper_repo_url = 'https://github.com/maramvenkatareddy/node_js.git'
+ def platform_app_url = 'https://github.com/maramvenkatareddy/java-web-app.git'
+ // def gitbranch = 'main'
+ def GITHUB_TOKEN = credentials('ggit')
+ properties([
+ pipelineTriggers([
+ // Poll SCM for changes in the specific repository
+ pollSCM("* * * * *") // This is the cron schedule format
+ ])
+ ])
+
+ try {
+ // Read the config file and set the environment
+ property = readYaml file: "config.yaml"
+ if (ENVIRONMENT == "qa") {
+ config = property.qa
+ echo "Config: ${config}"
+ } else if (ENVIRONMENT == "prod") {
+ config = property.prod
+ echo "Config: ${config}"
+ } else {
+ error "ENVIRONMENT variable not set or invalid!"
+ }
+ } catch (Exception e) {
+ error "Failed at reading config file. Error: ${e}"
+ }
+
+ try {
+ def commitHash = sh(script: "git rev-parse HEAD", returnStdout: true).trim()
+ // Debugging: echo the repository URLs
+ echo "Data Helper Repo URL: ${data_helper_repo_url}"
+ echo "Platform App Repo URL: ${platform_app_url}"
+ echo "commit_hash: ${commitHash}"
+ sh "printenv"
+
+ // Clone Datahelper Repository
+ stage('Clone Platform Application Repository') {
+ dir('repo2') {
+ echo "Cloning repository: ${platform_app_url}"
+ git branch: 'main', url: "${platform_app_url}"
+ echo "Checked out Platform Application Repository"
+ sh "ls"
+ // sh "git branch"
+ }
+ }
+ stage('Clone Datahelper Repository') {
+ dir('repo1') {
+ echo "Cloning repository: ${data_helper_repo_url}"
+ echo "commit_hash: ${commitHash}"
+ git branch: 'main', url: "${data_helper_repo_url}"
+ echo "Checked out Datahelper Repository"
+ sh "ls"
+ sh "git branch"
+ }
+ }
+ stage('build the dependency') {
+ dir('repo1') {
+ sh "npm install"
+ }
+ }
+
+ stage('buidl') {
+ dir('repo2') {
+ sh "mvn clean install"
+ }
+ }
+ stage('Docker build') {
+ dir("${config.path}") {
+ current = "Stage Docker build"
+ if (ENVIRONMENT == "qa") {
+ sh "docker build -t ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} -f Dockerfile.qa ."
+ } else if (ENVIRONMENT == "prod") {
+ sh "docker build -t ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} -f Dockerfile.prod ."
+ }
+ sh "docker tag ${config.ecr_url}/${config.repo_name}:main-1 ${config.ecr_url}/${config.repo_name}:latest"
+ }
+ }
+
+ stage('Docker Image Push to ECR Repo') {
+ dir("${config.path}") {
+ stage('Docker Image Push to Ecr') {
+ current = "Stage Docker Image Push to Ecr"
+ sh "aws ecr get-login-password --region ${config.region} | docker login --username AWS --password-stdin ${config.ecr_url}"
+ sh "docker push ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash}"
+ sh "docker push ${config.ecr_url}/${config.repo_name}:latest"
+ }
+ }
+ }
+ stage('Update Image Tag in Deployment File') {
+ dir('repo2') {
+ // Set Git configuration
+ sh 'git config user.email "venkat@gmail.com"'
+ sh 'git config user.name "venkat"'
+
+ // Define the deployment file path
+ def deploymentFile = 'eks/prod/deployment.yaml'
+
+ // Ensure the deployment file exists
+ if (fileExists(deploymentFile)) {
+ echo "Updating image tag in ${deploymentFile}"
+
+ // Replace 'tag' placeholder with the desired image version (e.g., 1.23)
+ sh "sed -i 's|image: 619071347058.dkr.ecr.us-west-2.amazonaws.com|image: 619071347058.dkr.ecr.us-west-2.amazonaws.com/prod-video:${config.environment}-${commitHash}|g' ${deploymentFile}"
+ // sh "sed -i 's|image: [^ ]*|image: \"${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash}\"|g' ${deploymentFile}"
+
+ // Git commit and push using the credentials
+ sh 'git add .'
+ sh 'git commit -m "Updated to the newer version [ci skip]"'
+ // Use the credentials for Git push
+ withCredentials([usernamePassword(credentialsId: 'ggit', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
+ echo "username is $USERNAME"
+ echo "password is $PASSWORD"
+ sh 'git push https://${USERNAME}:${PASSWORD}@github.com/${USERNAME}/java-web-app.git'
+ }
+ sh "cat ${deploymentFile}"
+ } else {
+ error "Deployment file ${deploymentFile} not found!"
+ }
+ }
+ }
+
+ notifySlack('SUCCESS')
+
+ } catch (Exception e) {
+ error "Pipeline failed with error: ${e}"
+ notifySlack('FAILURE')
+ error "Your continuous build failed at ${current}: ${e.getMessage()}"
+ }
+}
diff --git a/New-Declarative-Jenkinsfile b/New-Declarative-Jenkinsfile
new file mode 100644
index 00000000..4330969c
--- /dev/null
+++ b/New-Declarative-Jenkinsfile
@@ -0,0 +1,180 @@
+pipeline {
+ agent any
+
+ environment {
+ data_helper_repo_url = 'https://github.com/maramvenkatareddy/node_js.git'
+ platform_app_url = 'https://github.com/maramvenkatareddy/java-web-app.git'
+ k8s_manifest_url = 'https://github.com/maramvenkatareddy/sample-project.git'
+ GITHUB_TOKEN = credentials('ggit')
+ branch = 'main'
+ def commitHash = sh(script: "git rev-parse HEAD", returnStdout: true).trim()
+
+ }
+
+ stages {
+ stage('Checkout SCM') {
+ steps {
+ checkout scm
+ }
+ }
+
+ stage('Read Config YAML') {
+ steps {
+ script {
+ try {
+ property = readYaml file: "config.yaml"
+ if (env.ENVIRONMENT == "qa") {
+ config = property.qa
+ echo "Config: ${config}"
+ } else if (env.ENVIRONMENT == "prod") {
+ config = property.prod
+ echo "Config: ${config}"
+ } else {
+ error "ENVIRONMENT variable not set or invalid!"
+ }
+ } catch (Exception e) {
+ error "Failed at reading config file. Error: ${e}"
+ }
+ }
+ }
+ }
+
+ stage('Clone Platform Application Repository') {
+ steps {
+ dir('repo2') {
+ git branch: "${branch}", url: "${platform_app_url}", credentialsId: 'ggit', changelog: true, poll: true
+ }
+ }
+ }
+
+ stage('Clone Data Helper Repository') {
+ steps {
+ dir('repo1') {
+ git branch: "${branch}", url: "${data_helper_repo_url}", credentialsId: 'ggit', changelog: true, poll: false
+ }
+ }
+ }
+
+ stage('Build Dependency') {
+ steps {
+ dir('repo1') {
+ sh "npm install"
+ }
+ }
+ }
+
+ stage('Build Application') {
+ steps {
+ dir('repo2') {
+ sh "mvn clean install"
+ }
+ }
+ }
+
+ stage('Docker Build') {
+ steps {
+ dir("${config.path}") {
+ script {
+ if (env.ENVIRONMENT == "qa") {
+ sh "docker build -t ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} -f Dockerfile.qa ."
+ } else if (env.ENVIRONMENT == "prod") {
+ sh "docker build -t ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} -f Dockerfile.prod ."
+ }
+ sh "docker tag ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} ${config.ecr_url}/${config.repo_name}:latest"
+ }
+ }
+ }
+ }
+
+ stage('Docker Image Push to ECR Repo') {
+ steps {
+ dir("${config.path}") {
+ script {
+ sh "aws ecr get-login-password --region ${config.region} | docker login --username AWS --password-stdin ${config.ecr_url}"
+ def commitHash = sh(script: "git rev-parse HEAD", returnStdout: true).trim()
+ sh "docker push ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash}"
+ sh "docker push ${config.ecr_url}/${config.repo_name}:latest"
+ }
+ }
+ }
+ }
+ stage('Update Image Tag in Deployment File') {
+ steps {
+ script {
+ // Clean up existing k8s directory if it exists
+ if (fileExists('k8s')) {
+ sh 'rm -rf k8s'
+ }
+
+ // Clone the k8s manifests repository
+ dir('k8s') {
+ git branch: "${branch}",
+ url: "${k8s_manifest_url}",
+ credentialsId: 'ggit'
+ }
+
+ // Change to the cloned directory
+ dir('k8s') {
+ // Set Git configuration
+ sh 'git config user.email "venkat@gmail.com"'
+ sh 'git config user.name "venkat"'
+
+ // Define the deployment file path
+ def deploymentFile = 'eks/prod/deployment.yaml'
+
+ // Ensure the deployment file exists
+ if (fileExists(deploymentFile)) {
+ echo "Updating image tag in ${deploymentFile}"
+ echo "commithash: ${commitHash}"
+ sh 'git status'
+ sh 'git branch'
+
+ // Update image tag using sed
+ sh """
+ grep 'image:' eks/prod/deployment.yaml
+ sed -i 's|image: [^ ]*|image: ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash}|' ${deploymentFile}
+ grep 'image:' eks/prod/deployment.yaml
+ """
+ // Add changes
+ sh 'git add ${deploymentFile}'
+
+ // Commit changes
+ sh 'git commit -m "Updated to the newer version ${commitHash}"'
+ sh 'gi status'
+
+ // Push changes using credentials
+ withCredentials([usernamePassword(credentialsId: 'ggit', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
+ sh """
+ git push https://${USERNAME}:${PASSWORD}@github.com/${USERNAME}/sample-project.git HEAD:${branch}
+ """
+ }
+
+ // Print the contents of the deployment file for verification
+ sh "cat ${deploymentFile}"
+ } else {
+ error "Deployment file ${deploymentFile} not found!"
+ }
+ }
+ }
+ }
+ }
+}
+
+post {
+ always {
+ slackSend(
+ channel: 'jenkins',
+ message: """
+ *Pipeline Status:* ${currentBuild.currentResult}
+ *Job Name:* ${env.JOB_NAME}
+ *Build Number:* #${env.BUILD_NUMBER}
+ *Build URL:* ${env.BUILD_URL}
+ *Duration:* ${currentBuild.durationString}
+ *Branch:* ${env.GIT_BRANCH ?: 'N/A'}
+ """.stripIndent()
+ )
+ }
+}
+
+
+}
diff --git a/New-Jenkinsfile b/New-Jenkinsfile
new file mode 100644
index 00000000..6ca25804
--- /dev/null
+++ b/New-Jenkinsfile
@@ -0,0 +1,88 @@
+node('master') {
+ checkout scm
+ def data_helper_repo_url = 'https://github.com/maramvenkatareddy/node_js.git'
+ def platform_app_url = 'https://github.com/maramvenkatareddy/java-web-app.git'
+ def gitbranch = 'sample-test'
+ def GITHUB_TOKEN = credentials('ggit')
+
+ // Fixed properties block with correct SCM polling syntax
+ properties([
+ pipelineTriggers([
+ [$class: 'SCMTrigger',
+ scmpoll_spec: '* * * * *',
+ ignorePostCommitHooks: false]
+ ])
+ ])
+
+ try {
+ // Read the config file and set the environment
+ property = readYaml file: "config.yaml"
+ if (ENVIRONMENT == "qa") {
+ config = property.qa
+ echo "Config: ${config}"
+ } else if (ENVIRONMENT == "prod") {
+ config = property.prod
+ echo "Config: ${config}"
+ } else {
+ error "ENVIRONMENT variable not set or invalid!"
+ }
+ } catch (Exception e) {
+ error "Failed at reading config file. Error: ${e}"
+ }
+
+ try {
+ // First checkout platform app
+ stage('Clone Platform Application Repository') {
+ dir('repo2') {
+ checkout([
+ $class: 'GitSCM',
+ branches: [[name: "*/${gitbranch}"]],
+ userRemoteConfigs: [[
+ url: platform_app_url,
+ credentialsId: 'ggit'
+ ]]
+ ])
+ echo "Checked out Platform Application Repository"
+ sh "ls"
+ sh "git branch"
+ }
+ }
+
+ def commitHash = sh(
+ script: "cd repo2 && git rev-parse HEAD",
+ returnStdout: true
+ ).trim()
+
+ echo "Data Helper Repo URL: ${data_helper_repo_url}"
+ echo "Platform App Repo URL: ${platform_app_url}"
+ echo "commit_hash: ${commitHash}"
+ sh "printenv"
+
+ stage('Clone Datahelper Repository') {
+ dir('repo1') {
+ git branch: "${gitbranch}",
+ url: "${data_helper_repo_url}",
+ credentialsId: 'ggit'
+ echo "Checked out Datahelper Repository"
+ sh "ls"
+ sh "git branch"
+ }
+ }
+
+ // Rest of your stages remain the same...
+ stage('build the dependency') {
+ dir('repo1') {
+ sh "npm install"
+ }
+ }
+
+ stage('buidl') {
+ dir('repo2') {
+ sh "mvn clean install"
+ }
+ }
+
+ } catch (Exception e) {
+ error "Pipeline failed: ${e.getMessage()}"
+ }
+}
diff --git a/README.md b/README.md
index 262576c5..c266c797 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
-# java-web-app
\ No newline at end of file
+# java-web-app added files gg ffddhh ff ff sampletest testing file rr ff main it wont trigger the files uuut hhh gg ff ff ff files ff
+
+modify README
diff --git a/config.yaml b/config.yaml
new file mode 100644
index 00000000..6d9b1e6a
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1,13 @@
+qa:
+ path: "repo2"
+ environment: "qa"
+ repo_name: "video"
+ region: "us-west-2"
+ ecr_url: "619071347058.dkr.ecr.us-west-2.amazonaws.com"
+ deploymentfile: "eks/prod/deployment.yaml"
+prod:
+ path: "repo2"
+ environment: "prod"
+ repo_name: "prod-video"
+ region: "us-west-2"
+ ecr_url: "619071347058.dkr.ecr.us-west-2.amazonaws.com"
diff --git a/declarative-jenkinsfile b/declarative-jenkinsfile
new file mode 100644
index 00000000..fa23a077
--- /dev/null
+++ b/declarative-jenkinsfile
@@ -0,0 +1,176 @@
+pipeline {
+ agent any
+
+ environment {
+ data_helper_repo_url = 'https://github.com/maramvenkatareddy/node_js.git'
+ platform_app_url = 'https://github.com/maramvenkatareddy/java-web-app.git'
+ k8s_manifest_url = 'https://github.com/maramvenkatareddy/sample-project.git'
+ branch = 'main'
+ commitHash = sh(script: "git rev-parse HEAD", returnStdout: true).trim()
+ }
+
+ tools {
+ jdk 'java-11'
+ }
+
+ stages {
+ stage('Checkout SCM') {
+ steps {
+ checkout scm
+ }
+ }
+ stage('java') {
+ steps {
+ sh 'java -version'
+ }
+ }
+
+ stage('Read Config YAML') {
+ steps {
+ script {
+ try {
+ property = readYaml file: "config.yaml"
+ if (env.ENVIRONMENT == "qa") {
+ config = property.qa
+ echo "Config: ${config}"
+ } else if (env.ENVIRONMENT == "prod") {
+ config = property.prod
+ echo "Config: ${config}"
+ } else {
+ error "ENVIRONMENT variable not set or invalid!"
+ }
+ } catch (Exception e) {
+ error "Failed at reading config file. Error: ${e}"
+ }
+ }
+ }
+ }
+
+ stage('Clone Platform Application Repository') {
+ steps {
+ dir('repo2') {
+ git branch: "${branch}", url: "${platform_app_url}"
+ }
+ }
+ }
+ stage('clone the manifest files') {
+ steps {
+ dir('k8s') {
+ git branch: "${branch}", url: "${k8s_manifest_url}", credentialsId: 'ggit'
+ }
+ }
+ }
+
+ stage('Clone Data Helper Repository') {
+ steps {
+ dir('repo1') {
+ git branch: "${branch}", url: "${data_helper_repo_url}"
+ }
+ }
+ }
+
+ stage('Build Dependency') {
+ steps {
+ dir('repo1') {
+ sh "npm install"
+ }
+ }
+ }
+
+ stage('Build Application') {
+ steps {
+ dir('repo2') {
+ sh "mvn clean install"
+ }
+ }
+ }
+
+ stage('Docker Build') {
+ steps {
+ dir("${config.path}") {
+ script {
+ if (env.ENVIRONMENT == "qa") {
+ sh "docker build -t ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} -f Dockerfile.qa ."
+ } else if (env.ENVIRONMENT == "prod") {
+ sh "docker build -t ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} -f Dockerfile.prod ."
+ }
+ sh "docker tag ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash} ${config.ecr_url}/${config.repo_name}:latest"
+ sh "ls"
+ sh "cat Dockerfile.qa"
+ sh "pwd"
+ }
+ }
+ }
+ }
+
+ stage('Docker Image Push to ECR Repo') {
+ steps {
+ dir("${config.path}") {
+ script {
+ sh "aws ecr get-login-password --region ${config.region} | docker login --username AWS --password-stdin ${config.ecr_url}"
+ def commitHash = sh(script: "git rev-parse HEAD", returnStdout: true).trim()
+ sh "docker push ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash}"
+ sh "docker push ${config.ecr_url}/${config.repo_name}:latest"
+ }
+ }
+ }
+ }
+ stage('Update Image Tag in Deployment File') {
+ environment {
+ deploymentFile = "${config.deploymentfile}"
+ }
+ steps {
+ dir('k8s') {
+ script {
+ // Set Git configuration
+ sh 'git config user.email "venkat@gmail.com"'
+ sh 'git config user.name "venkat"'
+ sh 'echo "${deploymentFile}"'
+ // Ensure the deployment file exists
+ if (fileExists(deploymentFile)) {
+ echo "Updating image tag in ${deploymentFile}"
+
+ // Replace 'tag' placeholder with the desired image version (e.g., 1.23)
+
+ // Uncomment the following if the placeholder replacement is different
+ sh "sed -i 's|image: [^ ]*|image: ${config.ecr_url}/${config.repo_name}:${config.environment}-${commitHash}|' ${deploymentFile}"
+
+ // Git commit and push using the credentials
+ sh 'git add ${deploymentFile}'
+ sh 'git commit -m "Updated to the newer version [ci skip]"'
+ // Use the credentials for Git push
+ withCredentials([usernamePassword(credentialsId: 'ggit', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
+ echo "username is $USERNAME"
+ echo "password is $PASSWORD"
+ sh "git push https://${USERNAME}:${PASSWORD}@github.com/${USERNAME}/sample-project.git"
+ }
+
+ // Print the contents of the deployment file for verification
+ sh "cat ${deploymentFile}"
+ } else {
+ error "Deployment file ${deploymentFile} not found!"
+ }
+ }
+ }
+ }
+ }
+}
+
+post {
+ always {
+ slackSend(
+ channel: 'jenkins',
+ message: """
+ *Pipeline Status:* ${currentBuild.currentResult}
+ *Job Name:* ${env.JOB_NAME}
+ *Build Number:* #${env.BUILD_NUMBER}
+ *Build URL:* ${env.BUILD_URL}
+ *Duration:* ${currentBuild.durationString}
+ *Branch:* ${env.GIT_BRANCH ?: 'N/A'}
+ """.stripIndent()
+ )
+ }
+}
+
+
+}
diff --git a/eks/bases/deployment.yaml b/eks/bases/deployment.yaml
new file mode 100644
index 00000000..827cc477
--- /dev/null
+++ b/eks/bases/deployment.yaml
@@ -0,0 +1,21 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: platform-deployment
+ labels:
+ app: arivihan
+spec:
+ replicas: 1 # Adjust the number of replicas as needed
+ selector:
+ matchLabels:
+ app: platform
+ template:
+ metadata:
+ labels:
+ app: platform
+ spec:
+ containers:
+ - name: platform
+ image: 619071347058.dkr.ecr.us-west-2.amazonaws.com/prod-video:1.0
+ ports:
+ - containerPort: 8080
\ No newline at end of file
diff --git a/eks/bases/service.yaml b/eks/bases/service.yaml
new file mode 100644
index 00000000..ff12a2a2
--- /dev/null
+++ b/eks/bases/service.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: platform-service
+ labels:
+ app: platform
+spec:
+ type: NodePort
+ selector:
+ app: platform
+ ports:
+ - port: 8081 # Service port
+ targetPort: 8080 # Container port
\ No newline at end of file
diff --git a/eks/prod/deployment.yaml b/eks/prod/deployment.yaml
new file mode 100644
index 00000000..8e4bce72
--- /dev/null
+++ b/eks/prod/deployment.yaml
@@ -0,0 +1,21 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: platform-deployment
+ labels:
+ app: arivihan
+spec:
+ replicas: 1 # Adjust the number of replicas as needed
+ selector:
+ matchLabels:
+ app: platform
+ template:
+ metadata:
+ labels:
+ app: platform
+ spec:
+ containers:
+ - name: platform
+ image: 619071347058.dkr.ecr.us-west-2.amazonaws.com/prod-video:qa-935b175916f241f585ac4e0867da919a92de6194/prod-video:qa-f2f5aa43c2032794bce47447982e5a2aaf128d36/prod-video:qa-852e2513f0c60c9ff2b6c97f9fe96f8a39e18a93/prod-video:qa-bd27353a96a4493c428500ff140a797128b6a4d0/prod-video:qa-a598d3c75b561a4a5d48e23477b89629c73b6f08/prod-video:qa-e8f3932757d54a94dcb6ac0250204e1529aa9ef6/prod-video:qa-26da187180bde49e200d8a5fd702615109e39c04/prod-video:qa-2e4c6d487742677ad081dbf14e3c28b5548520cb/prod-video:qa-5a97141847ff61865d0ec3d1a961552dbe4caa9b/prod-video:qa-c452dcbd3caa4862823fbb05fe8e6ba20ec664ca/prod-video:qa-0f72c2a8181953512e219e8032c0d00591a9004d/prod-video:qa-f45febe9127d7471d1ff9af8fe3482140a83be2f/prod-video:qa-32f763d68bbdf351441a3c38e2f00ec89822e0b7/prod-video:qa-2cf2f19b41d1529499ae7f1795debdf336e3894c/prod-video:qa-e362130452eb0b2485e99d7f8ea6fa591717436c/prod-video:qa-cf8551db535b25e2a2c5aa4f15f9225b0c1c8dd2/prod-video:qa-2bcc331444065e82ecd0dc3e499e3742caa7f7af/prod-video:qa-8bbcec35e7cb2b58d106a6509d57f8d0a0262ad8/prod-video:qa-d2ef63ef745d4bdf8b1324efdd74eb648fcb4068/prod-video:qa-8161703e513d383f56dda6f5a40ca7249a00184a/prod-video:qa-5e1b00f7d6124a42c2bba59d64945a23e085c6e6/prod-video:prod-b37bcdcb58f8ec8ab9464221d4cbd8a087d05566/prod-video:prod-39977d0632c3ce5ee3268a8ed3e2c09e790541c1/prod-video:prod-a9e83a93b1f895533d610ba5e1cd0212c8abe474/prod-video:prod-096db3e0358ea36022088535e3ec71d430efdff9/prod-video:prod-35804c6e64eb8da52c716cfea31b139cd94ea115/prod-video:prod-21bedb84add55889598b98010281dcf99d64d05e/prod-video:prod-00a54bb29946042cf0cf1280213393aab784da10/prod-video:prod-ab9be67c4ae4b8242daffd215fed1ef1fa62866d/prod-video:prod-29ef846c2d4351640144a6c8adc12fd6e504e5e1/prod-video:prod-3d5cb77e32addc21dac96309f68a7972f13fc458/prod-video:prod-26931ad2a238db1d642d3d54d085b3bb5b8b319b/prod-video:prod-af4c76647fdda2e9a3525a055c96cc3deb54bb58/prod-video:prod-e1b0870ce42472961be43eefcf82b283f3e005a8/prod-video:prod-f1cd945f5975c9a22f52370583b7d34441541961/prod-video:prod-654d08489e05f6a362446d17bafcc708d05426c4/prod-video:prod-20a5e5d292a283c7b9ad0051819600ff1abbc645/prod-video:prod-ad491a769d09c1fffa9b6383e81a3db270b98f2b/prod-video:prod-ec192f4166b77ec37e73d08ffeb1e0571fbfb5d5/prod-video:prod-fd0160360b63a39945be23f10d8ebcbe77cd45e3/prod-video:prod-dbf9663fdeac1f399709ef951e8bb61272b44da2/prod-video:prod-a6d4be1f51ed3f9c7a0c9711f899cfb3edfd881d/prod-video:prod-016d7ff637fddbf996fc7f062dbffce2add834dd/prod-video:prod-41c8e15c47f8121eeb8137e62b955294118e9abf/prod-video:prod-e9bdaf1363c1c72d23c828c676473adc42b3be78/prod-video:prod-bc069b1fb5d1a65fbc17cbc047ce894f635a66e2/prod-video:prod-946a789c8d70ce931d0693eebd4e51f993a30a5c/prod-video:prod-8d3593dabc13672263a6d037403492a4be3ca3bf/prod-video:prod-aadabbe6968365c4e167faa59c2c7716323239ab/prod-video:prod-c001ec12c18b7c4acd8d350feeab834a5d4680b7/prod-video:prod-4d46b400b898d8834ce8bdfe694a6c48989ce23a/prod-video:prod-8f2ec35d7dd974cd114fc97ea36aa09e41a8165c/prod-video:prod-374b04bc2ef5d4dca3c4144b88486cca14803b26/prod-video:prod-bb1b2985eafa14db3c2967d90d3765238dbc7d01/prod-video:prod-86e89ecfe252136fc0b7f537471810915497c8c0/prod-video:prod-046b4fcabb7939259e9426213c937a856b4596d8/prod-video:prod-e9ef63806d9bd35822fbf977371edb5144ab9db2/prod-video:prod-d25d7884cce695e7bd7414065c8a08dd7f1e77f1/prod-video:prod-0cc4525e2df0e98938d851e39eb1ca071fb9be3b/prod-video:prod-f3c4da94d9d1ea3f0ef9f107a1b9154a62c6f75f/prod-video:prod-aa758d3195bf27900bbe240c146d62bb7dd87cc2/prod-video:prod-0a8d0dd08b3a637828ff9bf38a537b9f683c501a/prod-video:prod-fbc6c5080a9321b01d5d38da27efc86eb9f670f3/prod-video:prod-50c36d4eafa70230f462714d4b1e486f871b398d/prod-video:prod-e8367f04be93708ff86cb7aedef006b5df53e851/prod-video:prod-9770ff6baaeefd168630d1174e9a67ab457cb624/prod-video:prod-643cf289a4d8579c6d5b79c5781016615e057947/prod-video:prod-49d45ba788957da90197829a331a8845c4accfdd/prod-video:prod-04ad1db1971b45b1ab836d5fe98352784bcbd1a8/prod-video:prod-f61d3281b1f915d87f8bbbbcdebb2101f9c15b3d/prod-video:prod-5524fbd42d2e7971939a4ab6d0aad8e0f19fe140/prod-video:prod-59961c32bc3dd820adb53274de33d9abd9a6bb61/prod-video:prod-d882d03eb0c17c13a4954d54e5b13dc443d366d8/prod-video:prod-1e4fd6109a99dd398ce4c6ff3871485466e6f137/prod-video:prod-79d1e6c60cf57a6e3242183060d4a8f81ea85e23/prod-video:prod-ce84a7a652035939da072665304efbf2144bde8c/prod-video:prod-feb6d9ca56d57c99e807ba7e28e7211908b5da0d/prod-video:prod-20c1d73c86a2ca029ecd2b22078baa7ece6d4d1b/prod-video:prod-4709df6f529fec61a5ec5451804ec5f9844ee274/prod-video:prod-6f8d2c2566a958a314dbb21922e9fbb806dc0f0e/prod-video:prod-40d75d78f2636af1ff0e1468e505604d37e5232f/prod-video:prod-0ae35767eb50ffe054bd196cfb5e2bd99437a2e5/prod-video:prod-f237269e1c0d6b8cea70cbd576451b3ba2c957db/prod-video:prod-cfc7a44cc9061414d4707e5785ec48b2d8d4836b/prod-video:prod-c4671bef062d3e0052dc62b32e037eec4bda1b6c/prod-video:prod-bfd3b427736663b18803df9a15f9349683e92e9d/prod-video:prod-a25c0ac5c90a065c4148196e479e6b1983818d85/prod-video:prod-6fe5d214c554ec4cfac960ec7f5c2f068a9c2249/prod-video:prod-a6ae27b4706fe974ebc485c09f4a4e596d2c344d/prod-video:prod-50dfc364fce33302a456d0ec344fbff6bf87bcd0/prod-video:prod-5b65647eab84c0623e685028c73bd64d6e5084f0/prod-video:prod-ed1797be76ed198e1afff2c003d26498e64183e3/prod-video:prod-74de3ec64b57fbc89f1262a643f7057b848372b0/prod-video:prod-54ffff1958468f30cb8641d668b7b9cff15cf256/prod-video:prod-2853dd59d8134cefb68adddd2edc601e27101138/prod-video:prod-93970149079d2bf962cadf9d61d2f94610c30e3e/prod-video:prod-f69b5176250d1a29ba8c758dd1726a98641b71ea/prod-video:prod-417aa069f950b7aa201d32049c1efa9ef9d5fc99/prod-video:prod-11cbdca455b31eb1ae3fa9e4452bd1ba7865436c/prod-video:prod-9a5dae33fed2978984c328f9bd07913a62dd5759/prod-video:prod-3bb756fc8fd95d7f23bc9d0c70fcefbb4b35c74f/prod-video:prod-4cb09658ed8202069abbd79a816fba43ebb0efbc/prod-video:prod-4de3c9e55f57c3de745f8d6e35668d0919268b95/prod-video:prod-3cb23fb73f8c17ef28e3eab133054b7198e869c3/prod-video:prod-1afdd0d43e1f755de3283e655b515867e72ea636/prod-video:prod-5e5e5a3a9a2ae9c42b2d6ceccfac08dbd29fc80f/prod-video:prod-135b48c0da107491ed8482b5843a94cbcaf1ea77/prod-video:prod-78430fadc08c34ac64c3458db6866f29e2c94894/prod-video:prod-aaabe92b663118246dd534cb199ba3c9497a7dbf/prod-video:prod-5a74711e754454309d4f2e0aeba47c58507202ba/prod-video:prod-6d08c631f3cc19f7c9f9618a258fb43784fca2b3/prod-video:prod-f6f660650e0fceb941af0713185f58a078814d8c/prod-video:prod-e6788b901a101fff5163f112fdde0e5578a904d0/prod-video:prod-f26514c374be7e0a466adda509a3abd2577de2b8/prod-video:prod-f8f013c72949a19d35c15b997d0017ed6ac5067a/prod-video:prod-bf8959652cf0535a6a7b84d49d28eda964d08c2d/prod-video:prod-34040acfbb15f88a1ea27c367455f4c2074f5e2a/prod-video:prod-c9b103c68eacf6422f03d401b5542b0cfec8363d/prod-video:prod-4a4833362bcf6b6b8ceae546b3b3264cdd985db6/prod-video:prod-854e560bcf2d54a1bdfaa66eac23c6531b5387fa/prod-video:prod-50954f64a76150fc95b9b27ff994d87db50db4cd/prod-video:prod-982f428f60ec64e1d78c6b227de05f41e6488602/prod-video:prod-45011ec54f856a3fda0fc2bf535c9225bde40c2f/prod-video:prod-f241f9c83da83443993b969e29a3c606c9cbd75c/prod-video:prod-db1eef4be9b8d4c2668671ed773b5099276267e6/prod-video:prod-b60481876b3ee84bcb11aa77643cd166891a34e4/prod-video:prod-29d355980548a7344eae0cade13380efb1ca22af/prod-video:prod-a9a69b8d45fac0bc04a01bc96130a873029d64c5/prod-video:prod-f6234adeea9dea2403e04f8673191229056db795/prod-video:prod-623ae89d7ba71df39042dacfd00ea4206587833b/prod-video:prod-12bf7fc0c146f34996ff73e7fd4b55539877b16f/prod-video:prod-4a9935164da620f11d552f163e7f89e4bf5cf02b/prod-video:prod-c720de8803a4ba5dd3dc2755b7acc75f3d45146e/prod-video:prod-cdf1db7075b2d67d0e7d4f2b57d6ddfd0f504edb/prod-video:prod-71e5306bc34a27ac941fdb5103a2d1314b952745/prod-video:prod-0cf0995f9388d0566634b2f62964e06f94867f5b/prod-video:prod-4b167cfc89d2cf96d0a31516c51cc47659a4ffbc/prod-video:prod-2f079d28995577f64e02ba16bd6b439bb6d2e1e5/prod-video:prod-a8b31616b4324b70e5171e8fb1b66093f96ba365/prod-video:prod-fecdc41d3cdfcc02826e9fe0b5e815670557a1e0/prod-video:prod-52afefdcb45592243a52912aa969bc135837afb4/prod-video:prod-d2b29703d25276f578dcf399d41b1f7921aa18d1/prod-video:prod-b69dbcc0ed4559c80dadd288c660a89c3a88cb22/prod-video:prod-47baa9de8e7c19c750b28bb8232a35fd41ddf5b9/prod-video:prod-9ed9ea2fadb63a7117fda1707613d955e8cd88a7/prod-video:prod-3330d2cd93028b57cda1b85e914c512b1e83c1ff/prod-video:prod-80350760fdf9959aba8130cd5120bfbc6f0486e5/prod-video:prod-30a02dec0bebd5a50f1b1e66434b96c6040c4dd2/prod-video:prod-ae368ae23346cde4c67f720ae58e33912274bf81/prod-video:prod-2e1308a755771be62996307a42d1d339d4adc50b/prod-video:prod-d711c753b40de26b042b069b9091c4ce18dd7089/prod-video:prod-66cd6819552143bb1158237865ede5d631651d71/prod-video:prod-e1af6ca5996fb3b3f09fc63b110087dcb8444848/prod-video:prod-25f297b3178131ed4f2c9fe61fbd4b3124ee26ea/prod-video:prod-ae18c79d1ca77246f8aeff2ff73f746194fc05b6/prod-video:prod-06e2c15557e8a67bcf9fe5ad6c51a6b59ba7780b/prod-video:prod-becd36805ea6f63ba04e67356a1df7e9f93667da/prod-video:prod-a9c4b73ca01bdd06fdd212f4b1f704e3f032b540/prod-video:prod-68284868f7527af08f219b51d9d634952729125c/prod-video:prod-ef49e7b14f6480d7de7436eee92976bae3b35d1a/prod-video:prod-adcaf5b3c72bcb10bbea903eeafbc79110d73bf2/prod-video:prod-c5703b2b42ac5e4bfb4c25b9b4424eb0417c5faa/prod-video:prod-16ae923ed73aec364c441b7bf614f419bc28095c/prod-video:prod-025cc0afb73b4c997ff0895b8975bdf458592a6e/prod-video:prod-5ea89c8e972a8212f195f6ecca694b6019490a3b/prod-video:prod-51c7718dde35179c9a62d7e537975f20b2157de5/prod-video:prod-2fb2cc84b957226c173750d00addf1a799d907d3/prod-video:prod-123d3cf34e053e8f406c376e0f0abd89324cb51b/prod-video:prod-be3d78a2ed4e79ec568912c4bb13b8e4b4338a63/prod-video:prod-e3946f932bfb3c67ed7457efa003c643e3798e6a/prod-video:prod-5a298037b517bf7aaea83fea2dfbb4af597d3ee8/prod-video:prod-07d6120f1ed22ae5ad93d29d8a59e87916d953d6/prod-video:prod-9f1b8d19c1be6a6f9f5c95910599aa83a43c0127/prod-video:prod-6687198f2a5bf9c8795f3b3661be9e589e26ab80/prod-video:prod-a7ce80dc8caf21a5afb5b8b541ad64a1487ec293/prod-video:prod-c6bb1cc44c833be664aa5e98ec4aed25a6c95091/prod-video:prod-d9d4d966fb8dfbf5b245b137e984a35a05a95ece/prod-video:prod-1c3f90d83050cb97f2f9c7f27016ff9aa72a366c/prod-video:prod-6a8fb882fdd8456d9ce3002c13fac454c9ecdeae
+ ports:
+ - containerPort: 8080
diff --git a/eks/prod/service.yaml b/eks/prod/service.yaml
new file mode 100644
index 00000000..ff12a2a2
--- /dev/null
+++ b/eks/prod/service.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: platform-service
+ labels:
+ app: platform
+spec:
+ type: NodePort
+ selector:
+ app: platform
+ ports:
+ - port: 8081 # Service port
+ targetPort: 8080 # Container port
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 88f6a776..7b3c51cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,12 +29,32 @@
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 3.0.0-M7
+
+
+
+
org.springframework.boot
spring-boot-maven-plugin
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 3.7.1
+
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 3.0.0
+