For creating and maintaining the DevOps pipeline, a set of tools and technologies are required. Below I have briefed about the major tools used in setting up and running the DevOps pipeline.
Git is a source code management tool and has options for open-source collaboration and is distributed in nature. It has various features like building and committing codes, branching them, merging the docs, labeling them, pushing and pulling to and from Github for use in production. For integrating Git with your workflows, you need to host repositories using Github and bigbucket. They offer private repos for teams and free access for public repos.
- Developers can create individual, isolated code environment for every code changes
- Distributed environment ensures that developers get their local repos with their history of commit changes and others
- Developers can merge branches into different code repositories
- Git allows for accelerating the deployment of changes in codes in the DevOps pipeline
Eclipse– It is an IDE containing a workspace and plug-in system for environment
Gradle- It is an open-source software which is used for automating build, deploying the application code and testing. You need to install Java development kit for running it. It works on JVM. The files in Gradle are saved as build. Gradle files.
Gradle build goes through various lifecycle phases
Initialization phase– Here the Gradle identifies the various projects in the build by looking at settings. Gradle file. It then creates instance for each projects org.gradle.api.Project
Configuration phase– Here Gradle builds a Directed Acyclic Graph of objects in the task
Gradle prioritize projects during the build using a feature known as configuration on demand
Execution phase– here the tasks are executed according to the DAG of task objects and executed according to their dependency.
Selenium- It is an open-source testing framework. It is used for automating testing for web applications. It provides an interface to let you write and run test scripts in java , ruby, PHP, python and Perl. The test scripts are executed by Selenium Web Driver. The web driver consists of API, library to contain the APIs alongwith bindings to support multiple languages, driver which is a module to run the test scripts on a browser instance.
Selenium Testing Framework
Jenkins- It is an open-source continuous integration solution that helps automating and orchestrating the sequence of integration actions.
Chef – Chef is a configuration tool that deploys, update and manages infrastructure by writing code.
Ansible – Ansible is used for automating cloud provisioning, deployment of application and more by pushing out small Ansible modules to the node
Docker- It is a containerization tool for OS and its dependencies and helps in large scale deployment.
How Docker works?
Nagios- Nagios is a tool used for continuous monitoring of applications, systems and services in the DevOps pipeline. It alerts the technical team and prevents outages
There are many more tools used in DevOps as per requirement like
- Continuous testing- Zephyr, Test Complete, Soap Ui, Selenium
- Continuous integration- Jenkins, Bamboo, Hudson
- Continuous monitoring- Nagos, Sensu, Splunk
- Continuous operating and deployment- Docker, Puppet, Chef, Ansible, Salt
- Continuous Development- Git, Bitbucket, Jira