Objective is to learn Devops tools like Git, Jenkins, Docker, Nagios, Selenium, Ansible, Puppet, Linux and Kubernetes. For Complete Automation Deployment process.
Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.
Jenkins is a free and open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.
Nagios Core, formerly known as Nagios, is a free and open-source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and services.
Selenium is a portable framework for testing web applications. Selenium provides a playback tool for authoring functional tests without the need to learn a test scripting language.
Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows.
In computing, Puppet is a software configuration management tool which includes its own declarative language to describe system configuration. It is a model-driven solution that requires limited programming knowledge to use.
Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation.
1.Made 3 instance 1 for jenkins master and other for slaves
Logging into my jenkins dashboard
Now it’s the time for setting op slaves: Setting slave 1:
Installing agent jar on slave machine
Used Mobaxtreme software instead of putty because I can manage my terminals easily:
Finally done with the master and slave architecture:
Slave1 is testing server. Slave2 is production server. Creating a project website with title karam website as shown below:
Creating git repository for version control
Creating git repository for version control Initially pushed my files from the local system to the git hub
Till here I have completed the 3 tasks of project 4.Once the website is built, you have to design a test-case, which will basically check if the website can be opened or not. If yes, the test should pass. This test has to run in headless mode, on the testserver. Code for selenium: