In this episode, I cover the basics of what CI/CD is and how it can be implemented. Hopefully, once we are done you will have a greater understanding of CICD and how it can be implemented in your company.
Description of CICD – It is the process of automatically building and deploying your application when a commit is made by a developer.
Process
– Requirements definition with business partners.
– Jira ticket entry.
– Code Modification and commit to SCM.
– Webhook fires to start the CI/CD process.
– The software is checked out of SCM by your build tool.
– The software is tested, compiled and packaged.
– The software is uploaded to a binary repository.
– The software is moved/copied to a target environment.
– The software is installed in target environment.
– Automated regression tests are run on the target environment.
– The software is promoted to the next environment.
– The promotion and test phases are repeated until the software is running in the production environment.
How i’ve done it
Some tools that enable it
– BitBucket/GitHub/SCM of your choice
– Automated build tools
– Automated unit tests
– Jenkins
dis-jointed or dis-associated CI and CD
– CI is done and once a build is completed and your artifact is in your artifact repository of choice, then the CI ends.
– Another tool like Spinnaker is set up to poll your artifact repository and will pick up the artifact and deploy it to the appropriate testing environment.
Next Episode: Jenkins – Not your everyday butler!