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
Giving the Project the name 'urlShortener'
2) Defining the Java Project in Eclipse
Project Structure in Eclipse
Details of application.properties
Details of shorten.html (used for UI)
3) Building the Java Application using Maven
Running the jar file created in previous step
Screenshot of website running on localhost port 1234
5) Setting up Deployment with the Help of Puppet
Initial file for deploy.pp for use with puppet
Checking the status of the puppet deployment
6) Git for Version Control of URL Shortener Website Application
Disable existing urlshortener service
7) Docker Setup for Deployment through Dockerfile
8) Ansible Playbook Setup for Advanced Configuration of Docker Container and Automation CI
Initial Jenkins config file
Configuring Jenkins for building on new commit to repository
Linking the local repository on the @git user of the virtual machine
Successfully setup Jenkins CI
Jenkins CI build output run
Successful deployment using Jenkins which is triggered on push to @master branch of the local git repository
Deployment of website automated using Jenkins CI on every push
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