Compare commits
1 Commits
main
...
cicd-setup
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
564f4a8316 |
45
Jenkinsfile
vendored
45
Jenkinsfile
vendored
@ -2,54 +2,47 @@ pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
DOCKERHUB_USER = 'vipin2025devops'
|
||||
IMAGE_NAME = 'myapp'
|
||||
IMAGE_TAG = "latest"
|
||||
K8S_DEPLOYMENT = 'k8s/deployment.yaml'
|
||||
K8S_SERVICE = 'k8s/service.yaml'
|
||||
DOCKERHUB_CREDENTIALS = credentials('dockerhub-creds')
|
||||
DOCKER_IMAGE = "vipin2025devops/myapp"
|
||||
K8S_DEPLOYMENT = "k8s/deployment.yaml"
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout Code') {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
git branch: 'main', url: 'https://git.opsmonsters.in/vipin.p/my-react-app'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Docker Image') {
|
||||
steps {
|
||||
powershell """
|
||||
docker build -t ${DOCKERHUB_USER}/${IMAGE_NAME}:${IMAGE_TAG} .
|
||||
"""
|
||||
script {
|
||||
def imageTag = "build-${env.BUILD_NUMBER}"
|
||||
sh "docker build -t ${DOCKER_IMAGE}:${imageTag} ."
|
||||
sh "docker tag ${DOCKER_IMAGE}:${imageTag} ${DOCKER_IMAGE}:latest"
|
||||
env.IMAGE_TAG = imageTag
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Push Image to Docker Hub') {
|
||||
stage('Push to DockerHub') {
|
||||
steps {
|
||||
withCredentials([usernamePassword(credentialsId: 'docker-hub-credentials', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
|
||||
powershell """
|
||||
echo $env:DOCKER_PASS | docker login -u $env:DOCKER_USER --password-stdin
|
||||
docker push ${DOCKERHUB_USER}/${IMAGE_NAME}:${IMAGE_TAG}
|
||||
"""
|
||||
script {
|
||||
sh "echo $DOCKERHUB_CREDENTIALS_PSW | docker login -u $DOCKERHUB_CREDENTIALS_USR --password-stdin"
|
||||
sh "docker push ${DOCKER_IMAGE}:${IMAGE_TAG}"
|
||||
sh "docker push ${DOCKER_IMAGE}:latest"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Deploy to Kubernetes') {
|
||||
steps {
|
||||
powershell """
|
||||
kubectl apply -f ${K8S_DEPLOYMENT}
|
||||
kubectl apply -f ${K8S_SERVICE}
|
||||
script {
|
||||
sh """
|
||||
sed 's|IMAGE_PLACEHOLDER|${DOCKER_IMAGE}:${IMAGE_TAG}|g' ${K8S_DEPLOYMENT} | kubectl apply -f -
|
||||
"""
|
||||
}
|
||||
}
|
||||
|
||||
stage('Verify Deployment') {
|
||||
steps {
|
||||
powershell """
|
||||
kubectl get pods -o wide
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user