{"id":278,"date":"2025-08-22T11:07:22","date_gmt":"2025-08-22T11:07:22","guid":{"rendered":"https:\/\/myallcodes.in\/?p=278"},"modified":"2025-08-22T11:07:22","modified_gmt":"2025-08-22T11:07:22","slug":"nodejs-demo-app-jenkins","status":"publish","type":"post","link":"https:\/\/myallcodes.in\/index.php\/2025\/08\/22\/nodejs-demo-app-jenkins\/","title":{"rendered":"nodejs-demo-app-jenkins"},"content":{"rendered":"\n<p>\ud83d\udee0 Jenkins CI\/CD Integration<\/p>\n\n\n\n<p>\ud83d\udccc Overview<\/p>\n\n\n\n<p>This project also includes a Jenkins-based CI\/CD pipeline that automates the process of building a Docker image from the Node.js app and pushing it to Docker Hub whenever new changes are pushed to GitHub.<\/p>\n\n\n\n<p>\ud83d\ude80 Jenkins Setup Steps<\/p>\n\n\n\n<p>\u2705 Prerequisites<\/p>\n\n\n\n<p>Jenkins installed (Currently installed on local system)<\/p>\n\n\n\n<p>Docker installed on the Jenkins host<\/p>\n\n\n\n<p>Docker Hub account and access credentials<\/p>\n\n\n\n<p>GitHub repository with this project<\/p>\n\n\n\n<p>\ud83e\uddf0 Jenkins Configuration Steps<\/p>\n\n\n\n<p>Install Jenkins Plugins<\/p>\n\n\n\n<p>Create New Pipeline Job<\/p>\n\n\n\n<p>Configure GitHub Repository<\/p>\n\n\n\n<p>In the job config:<\/p>\n\n\n\n<p>Definition: Pipeline script from SCM<\/p>\n\n\n\n<p>SCM: Git<\/p>\n\n\n\n<p>Repository URL:&nbsp;<a href=\"https:\/\/github.com\/jaspreet237\/nodejs-demo-app-jenkins.git\">https:\/\/github.com\/jaspreet237\/nodejs-demo-app-jenkins.git<\/a><\/p>\n\n\n\n<p>Branch: main<\/p>\n\n\n\n<p>Configure Docker Hub Credentials<\/p>\n\n\n\n<p>\ud83d\udd04 How Jenkins Works in This Project<\/p>\n\n\n\n<p>When code is committed and pushed to GitHub:<\/p>\n\n\n\n<p>Jenkins pulls the latest code from the GitHub repo<\/p>\n\n\n\n<p>Builds a new Docker image using the Dockerfile<\/p>\n\n\n\n<p>Pushes the image to Docker Hub<\/p>\n\n\n\n<p>Pipeline status can be viewed in Jenkins Dashboard<\/p>\n\n\n\n<p>\u2705 Testing the Pipeline<\/p>\n\n\n\n<p>Make a change in app.js (e.g., change the text message)<\/p>\n\n\n\n<p>Triggers the Jenkins pipeline<\/p>\n\n\n\n<p>New image pushed to Docker Hub<\/p>\n\n\n\n<p>Pull new image and run locally:<\/p>\n\n\n\n<p>\u2705 Screeshots for reference<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474351706-d783707b-c362-4afb-8f5c-9fa9bc2d7e63.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUxNzA2LWQ3ODM3MDdiLWMzNjItNGFmYi04ZjVjLTlmYTliYzJkN2U2My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03N2ZkMWZiODM4ODc3NzlhMzA4MGFkMzQ5NjQ1OWRmZGUyNTNkMDNiNDQyZGUxM2IzOWY2YzE1YjBjMDkyY2QzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.fI7i6Pdpq_KP3D_gv1UzlTF5XrnTiFlwd7SxALHqjCo\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474351706-d783707b-c362-4afb-8f5c-9fa9bc2d7e63.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUxNzA2LWQ3ODM3MDdiLWMzNjItNGFmYi04ZjVjLTlmYTliYzJkN2U2My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03N2ZkMWZiODM4ODc3NzlhMzA4MGFkMzQ5NjQ1OWRmZGUyNTNkMDNiNDQyZGUxM2IzOWY2YzE1YjBjMDkyY2QzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.fI7i6Pdpq_KP3D_gv1UzlTF5XrnTiFlwd7SxALHqjCo\" alt=\"image\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474352631-7ce7d600-898b-4927-b686-5c80bb417617.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUyNjMxLTdjZTdkNjAwLTg5OGItNDkyNy1iNjg2LTVjODBiYjQxNzYxNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNThhNWQxMGZjODIzNjAwN2RhMTZjZWVhMDdlNGU1ZTY2MWY0NzY1ZjQ5MjRlOGRiZjQyNzVlZjI0NWNkMGZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.5IBFk_-AtKSh-ATYI-91VS8ZOHh2NEa65U3Lc2_hUwg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474352631-7ce7d600-898b-4927-b686-5c80bb417617.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUyNjMxLTdjZTdkNjAwLTg5OGItNDkyNy1iNjg2LTVjODBiYjQxNzYxNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNThhNWQxMGZjODIzNjAwN2RhMTZjZWVhMDdlNGU1ZTY2MWY0NzY1ZjQ5MjRlOGRiZjQyNzVlZjI0NWNkMGZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.5IBFk_-AtKSh-ATYI-91VS8ZOHh2NEa65U3Lc2_hUwg\" alt=\"image\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474353123-972b4ff3-4bae-4317-ba02-d7c074ec4f56.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUzMTIzLTk3MmI0ZmYzLTRiYWUtNDMxNy1iYTAyLWQ3YzA3NGVjNGY1Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYWQ4NTk5MGYwZmIwNWUzNTRkZmZjYWI1NWVjNWU5MTJiMDUxNjRjNDc3YmU3NDFkMzExN2EzNmViYjAyYjUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.OkXp78OICsYrWEkH-0AjrljsxMgyZCEBa0ZyFxcWrqE\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474353123-972b4ff3-4bae-4317-ba02-d7c074ec4f56.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUzMTIzLTk3MmI0ZmYzLTRiYWUtNDMxNy1iYTAyLWQ3YzA3NGVjNGY1Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYWQ4NTk5MGYwZmIwNWUzNTRkZmZjYWI1NWVjNWU5MTJiMDUxNjRjNDc3YmU3NDFkMzExN2EzNmViYjAyYjUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.OkXp78OICsYrWEkH-0AjrljsxMgyZCEBa0ZyFxcWrqE\" alt=\"image\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474353262-138d3b77-4844-4c37-83e5-41a629c16cd6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUzMjYyLTEzOGQzYjc3LTQ4NDQtNGMzNy04M2U1LTQxYTYyOWMxNmNkNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NWUyZWZhZjA4MDgwNjMxZTFlYjI0MTMzMTE4OWZmNTZhZDE4M2Q5NDAyMjc2MjAyNDgyNDVlNWM1NTY2YTNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.3WEZNV0Hi-XwSSZG6R2rrhueW-_BGq5hxkYh4eBTqXA\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/private-user-images.githubusercontent.com\/206333559\/474353262-138d3b77-4844-4c37-83e5-41a629c16cd6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTU4NjEwNTMsIm5iZiI6MTc1NTg2MDc1MywicGF0aCI6Ii8yMDYzMzM1NTkvNDc0MzUzMjYyLTEzOGQzYjc3LTQ4NDQtNGMzNy04M2U1LTQxYTYyOWMxNmNkNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDgyMlQxMTA1NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NWUyZWZhZjA4MDgwNjMxZTFlYjI0MTMzMTE4OWZmNTZhZDE4M2Q5NDAyMjc2MjAyNDgyNDVlNWM1NTY2YTNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.3WEZNV0Hi-XwSSZG6R2rrhueW-_BGq5hxkYh4eBTqXA\" alt=\"image\"\/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udee0 Jenkins CI\/CD Integration \ud83d\udccc Overview This project also includes a Jenkins-based CI\/CD pipeline that automates the process of building a Docker image from the Node.js app and pushing it to Docker Hub whenever new changes are pushed to GitHub. \ud83d\ude80 Jenkins Setup Steps \u2705 Prerequisites Jenkins installed (Currently installed on local system) Docker installed\u2026 <span class=\"read-more\"><a href=\"https:\/\/myallcodes.in\/index.php\/2025\/08\/22\/nodejs-demo-app-jenkins\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-278","post","type-post","status-publish","format-standard","hentry","category-power-shell-scripts"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/posts\/278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/comments?post=278"}],"version-history":[{"count":1,"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/posts\/278\/revisions"}],"predecessor-version":[{"id":279,"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/posts\/278\/revisions\/279"}],"wp:attachment":[{"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/media?parent=278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/categories?post=278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myallcodes.in\/index.php\/wp-json\/wp\/v2\/tags?post=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}