GUVI FINAL PROJECT : APPLICATION DEPLOYMENT
STEP 1 : Run the application in port 80 HTTP
STEP 2 : Docker :
• Dockerize the application by creating a Dockerfile
• Create a docker-compose file to use the above image
SOLUTION:
Docker Running
BUILD.SH
DEPLOY.SH
DOCKERFILE
DOCKER-COMPOSE.YML
INDEX.HTML
DOCKER BUILDING IMAGES
DOCKER IMAGES ( Repository name - Test)
DOCKER LOGIN
IMAGE PUSHED ON DEV PUBLIC
IMAGE PUSHED ON PROD PUBLIC
IMAGE PUSHED INTO DOCKER HUB REPO(DEV)
IMAGE PUSHED INTO DOCKER HUB(PROD)
DOCKER HUB REPOSITORIES WITH IMAGES:
DOCKER PORT RANGE 80 (test)
WEBSITE IP ADDRESS
WEBSITE RUNNING ON PORT 80:
STEP 3 : Version Control:
• Push the code to github to dev branch (use dockerignore & gitignore files)
• Note: Use only CLI for related git commands
PUSHED TO GIT DEV BRANCH
PUSHED DOC
STEP 4 : Jenkins:
• Install and configure jenkins build step as per needs to build, push & deploy the
application
Connect jenkins to the github repo with auto build trigger from both dev & master
branch
• If code pushed to dev branch, docker image must build and pushed to dev repo in
docker hub
• If dev merged to master, then docker image must be pushed to prod repo in docker
hub.
EC2 IN TERMINAL
JENKINS RUNNING
JENKINS LOGIN PAGE
JENKINS BUILD 1
JENKINS BUILD 2
WEBHOOKS
JENKINS SUCCESS
JENKINS BUILDED DOCKER IMAGE
BUILDED PROD FROM JENKINS
AFTER BUILDED JENKINS THE DOCKER IMAGES
TRIGGERED FROM GITHUB
IMAGE TRIGGERED AFTER GITHUB TRIGGER
STEP 5 : AWS:
Launch t2, micro instance and deploy the create application.
Configure SG as below:
- Whoever has the ip address can access the application
- Login to server can should be made only from your ip address
STEP 6 : Monitoring:
• Setup a monitoring system to check the health status of the application.
(Open-source)
• Sending notifications only if the application goes down is highly
appreciable.
SOLUTION :
PROMETHEUS INSTALLED
PROMETHEUS CODE
PROMETHEUS DASHBOARD
HEALTH CHECK : HEALTHY
PROMETHEUS GRAPH
GRAFANA INSTALLED
GRAFANA ACTIVE
GRAFANA DASHBOARD
PROMETHEUS ADDED TO GRAFANA
GRAFANA MONITORING IMAGES
URL :
I) INSTANCE : http://54.201.10.76
II) JENKINS :http://35.94.51.102:8080
III) PROMETHEUS :http://54.201.10.76:9090
IV) GRAFANA : http://54.201.10.76:3000
THANK YOU