diff --git a/Jenkinsfile-K8s-Deploy b/Jenkinsfile-K8s-Deploy index ecc22ee..13a4a65 100644 --- a/Jenkinsfile-K8s-Deploy +++ b/Jenkinsfile-K8s-Deploy @@ -1,65 +1,52 @@ + pipeline { + tools { + maven 'maven3' + } agent any - environment { - //once you sign up for Docker hub, use that user_id here - registry = "ananthkannan/mypython-app-may20" - //- update your credentials ID after creating credentials for connecting to Docker Hub - registryCredential = 'dockerhub' - dockerImage = '' + environment { + registry = " 136356824322.dkr.ecr.us-east-2.amazonaws.com/yohyoh/kubectl-repo:latest" } + stages { - - stage ('checkout') { + stage('Cloning Git') { steps { - checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/akannan1087/myPythonDockerRepo']]]) + checkout([$class: 'GitSCM', branches: [[name: '*/main']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '', url: 'https://github.com/akannan1087/springboot-app']]]) } } - - stage ('Build docker image') { - steps { - script { - dockerImage = docker.build registry + ":$BUILD_NUMBER" - //dockerImage = docker.build registry + ":$BUILD_NUMBER" - } + stage ('Build') { + steps { + sh 'mvn clean install' } - } - - // Uploading Docker images into Docker Hub - stage('Upload Image') { - steps{ - script { - docker.withRegistry( '', registryCredential ) { - dockerImage.push() - } - } } - } - - stage('Remove Unused docker image') { + // Building Docker images + stage('Building image') { steps{ - sh "docker rmi $registry:$BUILD_NUMBER" + script { + dockerImage = docker.build registry + } } } - stage ('K8S Deploy') { - steps { + // Uploading Docker images into AWS ECR + stage('Pushing to ECR') { + steps{ + script { + sh 'aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 136356824322.dkr.ecr.us-east-2.amazonaws.com' + sh 'docker push 136356824322.dkr.ecr.us-east-2.amazonaws.com/yohyoh/kubectl-repo:latest' + } + } + } + + stage('K8S Deploy') { + steps{ script { - kubernetesDeploy( - configs: 'k8s-deployment.yaml', - kubeconfigId: 'K8S', - enableConfigSubstitution: true - ) - + withKubeConfig([credentialsId: 'K8S', serverUrl: '']) { + sh ('kubectl apply -f eks-deploy-k8s.yaml') + } } } + } } - - } -} - -always { - // remove built docker image and prune system - print 'Cleaning up the Docker system.' - sh 'docker system prune -f' } diff --git a/eks-deploy-from-ecr.yaml b/eks-deploy-from-ecr.yaml index e1572df..b7aa626 100644 --- a/eks-deploy-from-ecr.yaml +++ b/eks-deploy-from-ecr.yaml @@ -34,3 +34,9 @@ spec: port: 80 targetPort: 5000 type: ClusterIP + +spec: + containers: + - name: kubectl-repo-container + image: 136356824322.dkr.ecr.us-east-2.amazonaws.com/yohyoh/kubectl-repo:latest + imagePullPolicy: Always # Forces K8s to pull the new 'latest' image every time diff --git a/k8s-deployment.yaml b/k8s-deployment.yaml index 35c85f5..d758e1b 100644 --- a/k8s-deployment.yaml +++ b/k8s-deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: my-python-app - image: 211223789150.dkr.ecr.us-east-1.amazonaws.com/coachak/my-docker-repo:${BUILD_NUMBER} + image: 136356824322.dkr.ecr.us-east-2.amazonaws.com/mybuilder/docker/repo:latest:${BUILD_NUMBER} imagePullPolicy: Always ports: - containerPort: 5000 diff --git a/mychart/values.yaml b/mychart/values.yaml index 0a8a529..7c8d8fd 100644 --- a/mychart/values.yaml +++ b/mychart/values.yaml @@ -5,7 +5,7 @@ replicaCount: 1 image: - repository: 211223789150.dkr.ecr.us-east-1.amazonaws.com/my-docker-repo + repository: 136356824322.dkr.ecr.us-east-2.amazonaws.com/mybuilder/dodo/repo:latest pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" diff --git a/templates/index.html b/templates/index.html index 5435f6a..7aeaacf 100644 --- a/templates/index.html +++ b/templates/index.html @@ -3,7 +3,7 @@