This project was created for educational goals to learn CI/CD process in DevOps.
So who wanna try DevOps practices and tools?! ;)
The goal is to create automated pipeline from commit at GitHub to deployed web page on a server in internet.
With this source code you can deploy a simple web page (index.jsp) on a server in internet
- Take a code from GitHub
- Build a source code and get artifact - webpage.zip
- Deliver artifact to a server [Ansible-Server]
- At server we create a docker image of Tomcat web-server with our web page inside! And push it to Docker Hub!
- Run the container from our created image on all hosts using Ansible
- See our Java web page running!;)
- Install Jenkins server on VM or any cloud instance [Jenkins-Server]
- Install Ansible server with Docker engine [Ansible-Server]
- Install any VM (or cloud instance) with Docker engine where you wanna run a web page in container [Docker-Server]. You can install any number of hosts. Configure inventory file - hosts! Configure ansible.cfg file!
- Make sure your Jenkins-Server have SSH access to Ansible-Server and Ansible-Server have SSH access to Docker-Server or any number of hosts (ansible should be properly configured with hosts)
- Create a Jenkins Job as showed in folder "Jenkins_Job_screenshots" to get deployable artifact webpage.zip on Ansible-Server and to run ansible playbooks on it
- Run the Jenkins Job & Enjoy!
to be continued...