CI/CD For Junior Developers

Arvin Fernandez
3 min readSep 9, 2021
Photo from: techaheadcorp.com

After seeing this requirement listed out on most job applications for junior developers I decided to finally dig into it.

CI/CD is a method used by the DevOps team to deliver code faster and more frequently in an agile environment. It consists of automating the processes in every stage of development: development, testing, and deployment.

The acronym stands for the 3 best practices in DevOps: Continuous Integration, Continuous Delivery, and/or Continuous Deployment. All these automation processes together are referred to as the CI/CD pipeline.

Continuous Integration

The first and most important step in the pipeline. When developers push their code to the master branch, AKA push their code to be integrated, there’s a few processes which run to make sure the new code won’t break the application.

After pushing to the master branch a build is generated which is basically a copy of the application including the code you are trying to push.This build is then passed through linters, code formatters and automation tests.

If all the tests pass the code is considered safe and ready to be deployed. Only then will this new code be pushed into the master branch.

The good thing about this is that if the tests don’t pass developers can receiver immediate feedback on what went wrong and make the necessary changes.

There other benefits of this method are:

  • Making developers feel more secure when committing code.
  • Preventing ‘integration hell’.
  • No more feature branches since all code can be safely pushed to the master branch directly.

After the code has been successfully pushed, it is now time for deployment.

Continuous Delivery

Since the build is ready to be deployed, this is the step where it is deployed to a testing or staging environment to further test the application.

This is the only task which requires a manual process, most often a simple click which will deploy the build to live production environment.

Continuous Deployment

This part of the process is similar to delivery but instead of a click to deploy. The code is automatically deployed to production after.

In continuous delivery only the person in charge will be able to deploy as a result of some sort of manual action. In this step the only thing the can prevent code from being pushed into production is a failed test.

I find this pretty cool since it gives developers the opportunity to see the code they contributed in production within a few minutes!

This approach is most commonly used in big organizations where new code is constantly being integrated.

Conclusion

Even if you are looking for developer roles it is crucial that you understand how this method works on a high level. CI/CD makes the development cycle much easier for all engineering teams. Allowing customers to receive updates much faster as opposed to manually integrating the code from all developers and without the hassle of ‘integration hell’.

Even if I don’t ever have to work on CI/CD pipelines I think the what it does is pretty dope and I can see why most companies use them.

--

--

Arvin Fernandez

Junior Developer trying to help other developers(and myself) better understand programming.