How do DevOps tools work together?

A generic logical flow is shown below that automates it to ensure smooth delivery. Organizations may follow different flows depending on their needs.

* Developers create code, and a version control system, such as Git, manages the source code.
* Any modifications made to this code are committed to the Git repository by developers.
* Jenkins extracts the code from the repository and builds it using software such as Ant or Maven using the Git plugin.
* Puppet is used to deploy and configure test environments, and Jenkins releases this code to the test environment so that testing can be conducted using Selenium tools.
* Jenkins deploys the code once it has been tested on the production server (even the production servers are managed by resources like a puppet).
* Nagios, for example, continuously monitors it after deployment.
* Using Docker containers, we can test the build features in a controlled environment. Learn More.