Docker Image Creation for Node.js Project CI\/CD Pipeline on Bitbucket

Project Overview

Develop a custom Docker image to be used in a Bitbucket CI/CD pipeline for a Node.js project, incorporating scripts for code testing with SonarQube and automated deployment to a VPS server.

Technologies and Services Used

  • Docker: Custom Docker Image, Dockerfile

  • CI/CD: Bitbucket Pipelines, SonarQube, SCP (Secure Copy Protocol)

  • Programming Languages: Node.js, Shell Scripting

  • Deployment: VPS Server, Automated Deployment Scripts

Key Responsibilities:

  • Docker Image Creation: - Initial Docker Setup: Began working with Docker by creating a custom Docker image tailored for the Node.js project. The image was designed to include all necessary dependencies and tools required for running the CI/CD pipeline on Bitbucket. - Environment Configuration: Configured the Dockerfile to install Node.js, npm, and other essential packages, ensuring that the environment was fully prepared for running the project's build, test, and deployment tasks.

  • Script Development and Integration: - SonarQube Integration: Developed a script within the Docker image to run static code analysis using SonarQube. This script was integrated into the Bitbucket pipeline to automatically test the code quality during the CI process. - Automated Deployment with SCP: Created another script in the Docker image to automate the deployment of the project’s code to a VPS server. The script utilized SCP (Secure Copy Protocol) to securely transfer the code from the Bitbucket environment to the VPS server for deployment. - Pipeline Configuration: Configured the Bitbucket pipeline to use the custom Docker image, ensuring that the CI/CD process was streamlined and automated. The pipeline was set up to run the SonarQube test script after the build and then execute the deployment script upon successful testing.

  • Testing and Validation: - Image Testing: Tested the Docker image locally to ensure that all necessary components were correctly installed and configured, and that the scripts functioned as intended. - Pipeline Validation: Deployed the Docker image in the Bitbucket pipeline, validating that the SonarQube tests were executed correctly and that the code was successfully deployed to the VPS server without errors.

  • Documentation and Handover: - Comprehensive Documentation: Documented the Docker image creation process, including the Dockerfile, scripts, and pipeline configuration. Provided detailed instructions on how to use and modify the image for future projects. - Team Training: Conducted a session with the development team to explain how the Docker image was integrated into the Bitbucket pipeline, how to monitor the pipeline, and how to troubleshoot potential issues.

Project Outcomes

Successfully created and implemented a custom Docker image for the Node.js project’s Bitbucket pipeline, automating code quality testing with SonarQube and secure deployment to a VPS server. This project marked the beginning of Docker usage in the workflow, significantly improving the efficiency of the CI/CD process.

Latest Projects

Things I do

CLOUD

Amazon Web Services

AZURE Cloud

Google Cloud Platform

IBM Cloud

DevOps Tools

Jenkins

Ansible for software provisioning

Packer for automated machine images

AWS CodePipeline

AWS CodeDeploy

Azure Pipelines

Chef

Github Actions

GitLab CI/CD

CircleCI

Microservices

Kubernetes

Docker

AWS ECS

AWS EKS

AKS

Azure Container Apps

Monitoring and Alerting

Telegraf

Prometheus

Grafana

Pagerduty

Infrastructure as Code

CloudFormation

Terraform

AWS CDK (Python & Typescript)

Operating System

Most of Linux Server Distributions

Window Server 2019/2022

Databases

MySQL

MariaDB

MongoDB

PostgreSQL

MSSQL

Scripting

Shell Scripting

Python

YAML

PowerShell

My Certifications

EMAIL: RAJ412214@GMAIL.COM

Let's Talk

Book a call to talk regarding the current vacancy at your organization.