From 2132ddabed83dbe44edcf5e481fab426dcd21966 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 Nov 2025 11:48:43 +0530 Subject: [PATCH 1/2] added dockerfile --- Dockerfile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..bce83768a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +ARG ARCH= +ARG IMAGE_BASE=16-alpine + +FROM node:18-alpine + +WORKDIR /usr/src/app + +COPY package*.json ./ + +RUN npm install --production + +COPY . . + +EXPOSE 3000 + +CMD ["npm", "start"] + + + From 3df08a99ef8dd63361ca6b59edee97ce54e9c3a5 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 Nov 2025 12:27:26 +0530 Subject: [PATCH 2/2] addedfile --- Jenkinsfile | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..915b24db3 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,61 @@ +pipeline { + agent any + + environment { + DOCKER_IMAGE = "amulya2503/node1" + DOCKER_CREDENTIALS = "Docker" + } + + stages { + stage('Checkout') { + steps { + git branch: 'master', + url: 'https://github.com/sreepathysois/node-hello_Lab_Exam_Batch_2.git' + } + } + + stage('Install Dependencies') { + steps { + sh 'npm install' + } + } + + stage('Run Tests') { + steps { + sh 'npm test || echo "No tests found, skipping..."' + } + } + + stage('Build Docker Image') { + steps { + script { + sh "docker build -t ${DOCKER_IMAGE}:${BUILD_NUMBER} ." + } + } + } + + stage('Push to Docker Hub') { + steps { + script { + withCredentials([usernamePassword(credentialsId: "${DOCKER_CREDENTIALS}", usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + sh """ + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + docker push ${DOCKER_IMAGE}:${BUILD_NUMBER} + docker tag ${DOCKER_IMAGE}:${BUILD_NUMBER} ${DOCKER_IMAGE}:latest + docker push ${DOCKER_IMAGE}:latest + """ + } + } + } + } + } + + post { + success { + echo "✅ Build & push successful: ${DOCKER_IMAGE}:${BUILD_NUMBER}" + } + failure { + echo "❌ Build failed!" + } + } +}