Introduction:
Jenkins is an open-source server compiled in Java. It allow us to execute a series of actions to achieve the Continuous Integration (CI) process, that too in an automated fashion.
In this article we are about to see how CI/CD (Continuous Delivery) pipeline will suites our need. The Jenkins will be the bridge or backbone of automation.
Overview:
Implementing CI/CD pipeline will reduce manual work and errors. But the first step is to employee DevOps tools.
The DevOps Tools:
- GitLab
- Jenkins
- Ansible
- Kubernetes
The Gitlab:
The Gitlab is a tool where all our source code is stored. in which we will have branches and the changes will be committed to the git repos. Why Gitlab instead of other git flavors is the big question. The answer is Gitlab, designed to play a key part in CI/CD pipeline creation.
Advantages over others:
- It Supports Automated testing.
- Merging changes as of our requirement.
- A CI server to monitor the repository and run tests on new commits.
Benefits:
- Automated tests capture most common bugs and issues.
- As it solves integration issues we shall speed up production.
- Developers do less context-switching since the build is broken alerts will show up.
- CI servers runs hundreds of times to test the code hence no errors.
Ansible for Configuration:
Now the code has been updated in Git. It triggers the pipeline and Jenkins pulls and create or invoke docker to create a container. once docker container is created we need to install, add permission etc. when we add all configuration in docker file it will create complication. to avoid we should Ansible for configurations.
Ansible is a configuration management tool that allows us to automate the process of configuring and deploying software applications. It uses a simple syntax called YAML to define tasks and playbooks, which are then executed on remote servers using SSH.
Ansible is agentless, which means that we don't need to install any software on the remote servers . Instead, Ansible uses SSH to connect to the servers and execute the tasks defined in our playbooks.
Conclusion:
Let's make this article simple, since DevOps concept is simple and fun to learn and test. you shall test and add more in your organization to make it more productive and quality focus.