10 – CICD Basics – Continuous Integration – Continuous Delivery

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!