Skip to content

Assignment 2

Nawaz Hussain K edited this page Dec 9, 2018 · 1 revision

foodcode

An interactive website where you can browse for recipes, upload your own creations and also check-out what your friends are cooking! Get upvotes, suggestions and recommendations. Just Sign up!

About this branch

Active Branches

  • feature-login_authenticatiion_docker : Login Authentication service.
  • feature-nodejs_server_docker : NodeJS server to handle incoming and outgoing requests to and fro from the front end. Also communicate with the Messaging Queue and gather distributed logs.
  • frontEnd-React : Front end of the project
  • feature-search_recipes_jenkinsDeployment : To be implemented in python.
  • feature-smtp_rabbitmq : rabbitmq server to support consumer and producer. Sends email on successful sign up and logs critical issues.

Architecture

Jenkins Build History

RabbitMQ

Docker Service as a swarm

Execute the following steps to start the project

Step -1:

  • Request any of the team members to create Jenkins user id and password. forward your full name and email id as your details. This details are required for monitoring the job build sequence for Continuous Deployment.
  • http://149.165.170.227:8765 : Jenkins URL. Login with the user Id and password provided to you.
  • These are the jobs for building and deploying our project. LoginAuthentication1, Python Search Branch, Node JS Server, Front End React Server and Rabbitmq Container. You will see that these builds are not active.

Step -2:

  • Clone the github repository
  • Change the branch to feature-nodejs_server using the following command
    git checkout releaseBranch_assignment2
  • make a dummy commit to this branch. OR you can add your name to the readme.md file to mention that you are making a dummy commit and push it.
  • shift to http://149.165.170.227:8765 for Build deployment process.

URLs:

What all achieved in this release 2:

  • Service Discovery using docker swarm.
  • Scaling and replication of services using docker containers.
  • All the micro services have been put into individual docker files.
  • Jenkins deploys on two nodes, master and salve.
  • All Jenkins deployment uses pipelines.
  • Individual web-hooks configured for the above mentioned active branches for CD.
  • CI is done using Travis CI.
  • Consumer Producer of RabbitMQ being used to send email and Log critical error of the system.
  • Please visit active branches for further description on individual ports.