Skip to content

Deploying a nodejs application with the Jenkins CI/CD Pipeline in integration with tools such as Ansible and Terraform

Notifications You must be signed in to change notification settings

AkramExp/nodejs-app-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodeJs App Deploy

Description

A DevOps Project deploying a nodejs application with the Jenkins CI/CD Pipeline in integration with other automation tools such as Ansible and Terraform.

Terraform is a tool to automate the infrastructer provisioning by writing Terraform files and spinning up servers in few seconds without doing the repetetive task of provisioning servers manually.

Ansible is used automate the process of making servers ready for deployment and then deploy the application on it by writing ansible playbooks which makes the deployment process efficient and to deploy the application with same configuration on any number of servers in few seconds.

  • Build the Docker image of application with Dockerfile and pushed it to DockerHub repository.
  • Used the version control tool Git with Jenkins and wrote a Jenkinsfile automating almost everything.
  • Terraform integration in Jenkinsfile to provision server on CIVO cloud.
  • Ansible integration in Jenkinsfile to install docker on the server and deploy the application. I tried to automate most of the things by integrating automation tools in Jenkins CI/CD Pipeline to deploy the application efficiently.

Installation

To run without Jenkinsfile in Jenkins pipeline you will have to make some changes manually in ansible hosts and ansible.cfg file. Provision the Infrastructure with Terraform

  terraform init
  terraform apply --auto-approve

Run Ansible Playbook

  cd ansible
  ansible-playbook deploy-app.yaml

About

Deploying a nodejs application with the Jenkins CI/CD Pipeline in integration with tools such as Ansible and Terraform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published