Jenkins: Industry Use cases
If you haven't heard the name Jenkins or don't know what it does, basically Jenkins is a Continuous Integration and Continuous Development/ Deployment tool which helps us manage the workflows by building pipelines which are made of jobs. Jobs are basically tasks to be done automatically like pulling the code from servers, testing the code and if the tests pass, merging with the production branch and deploying the app for the users automatically.
Now from the above discussion, you may already have got and idea of what could be the use cases.
GitHub + Jenkins
Jenkins has a plugin called GitHub which allows the Jenkins to do tasks like pulling the code from the GitHub server and also we can add the webhook triggers to trigger the Jenkins jobs when the code is changed in the GitHub. With this plugin, we can automate a lot of process related to the Code deployment and testing.
Docker + Jenkins
As you may know, containers are very common approach of launching applications these days as docker containers consumes less resources to the same job as the Virtual machines does. Jenkins provides Docker plugin that can be used to build and push the images to the docker hub or your personal registry if you want to. This allows us to automatically create images and build them and publish them to the registry which can be used later to launch the applications with the container images.
Pipelines + Jenkins
pipelines can be build from the web UI itself. But using web UI to create pipelines will not provide us with the portability. This is where the concept Infrastructure as a code comes in where we can create complex pipelines and export them as files that can be used in multiple other teams who use the Jenkins tool .With the introduction of the Pipeline plugin, users now can implement a project’s entire build/test/deploy pipeline in a
Jenkinsfile and store that alongside their code, treating their pipeline as another piece of code checked into source control.
As you can see Jenkins consists of thousands of plugins for integration of many tools which allow us to automate everything in this agile world. Hope you liked this article and found it useful