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 +