Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URL Shortener [complete DevOps CI/CD Pipeline]

Executed in an Ubuntu VM

Tools Used: Java, Maven, Git, Puppet, Docker, Ansible, Graphite, Grafana, Jenkins.

1) Building the Java Application

Creating a new Eclipse Project

Building Java Application

Giving the Project the name 'urlShortener'

Creating Eclipse Project

2) Defining the Java Project in Eclipse

Project Structure in Eclipse

Project Structure

Details of pom.xml

pom.xml

Details of application.properties

application.properties

Details of shorten.html (used for UI)

shorten.html

3) Building the Java Application using Maven

Configure Build Path

Build Path

Running mvn clean

mvn clean mvn clean output

Running mvn install

mvn install mvn install output

Running the jar file created in previous step

Running JAR

4) Demo of the Website

Screenshot of website running on localhost port 1234

Website on localhost:1234 Website demo Website demo Website demo

5) Setting up Deployment with the Help of Puppet

Initial file for deploy.pp for use with puppet

deploy.pp

Applying the puppet file

Puppet apply

Checking the status of the puppet deployment

Puppet status

6) Git for Version Control of URL Shortener Website Application

Git setup Git repository

Disable existing urlshortener service

Disable service

7) Docker Setup for Deployment through Dockerfile

Initial Dockerfile for deployment

Dockerfile

Building the docker container

Docker build

Running the docker container

Docker run

Output of docker container running

Docker output

Thus we have successfully run the URL shortener application using docker container


8) Ansible Playbook Setup for Advanced Configuration of Docker Container and Automation CI

Make ansible folder

Ansible folder

Ansible playbook deploy.yml

deploy.yml

Running ansible-playbook

Ansible playbook run

Deployment of website using ansible playbook tasks

Ansible deployment

Thus we have deployed the website using ansible playbook.


9) Jenkins Setup for CI

Initial Jenkins config file

Jenkins config

Configuring Jenkins for building on new commit to repository

Jenkins build config Jenkins build config

Linking the local repository on the @git user of the virtual machine

Git repository link

Successfully setup Jenkins CI

Jenkins setup

Jenkins CI build output run

Jenkins build output

Successful deployment using Jenkins which is triggered on push to @master branch of the local git repository

Jenkins deployment

Deployment of website automated using Jenkins CI on every push

Automated deployment

10) Graphite and Grafana for Monitoring the Usage and Showing the Statistics of Websites

We will be monitoring stats like:

  • Number of URLs created
  • Number of redirects
Graphite and Grafana

About

URL Shorten website built using java

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages