How Continuous Integration Helps Your Business

Continuous Integration is a well established practice, but how does it help your business?

Lets take a look at a few of the obvious (and not so obvious) benefits of a CI pipeline. 

Continuous What?!!

Continuous Integration (or CI from now on) is the process of releasing features little but often. Gone are the days when you should be saving up large chunks of code to be reviewed, tested and then deployed.

But why is this a good thing?

Daily Releases…

Your developers can release new features on a daily basis. Sound good? 

By saving up feature releases, you increase the risk of incompatibilities being introduced as more and more base code is changed. Releasing often allows you to pinpoint any issues early and either rollback or fix them asap. 

Automation Assurity… 

When your developers are ready to release their new feature, it should be a one click deployment. No matter how many servers are in your solution, all servers get the same set of source code.

Too many companies use a variety of deployment mechanisms which allow human error. Don’t allow your solution to go down because someone forgot to upload the latest database file. 

Deploy 24/7

With one click deployment sorted, your team can release their latest feature any time of the day or night. If the person who “usually does deployments” is on holiday, it doesn’t matter. 

Click that deploy button. 

Rollback…

If something goes wrong, having a CI pipeline allows you to rollback to the last known good version, almost instantly. Your solution shouldn’t be down, because it doesn’t need to be. Rollback, fix the problem, deploy. Done. 

Integrated Testing & More…

The great thing about CI is you can tailor it to your requirements. Need a specific set of tests run? No problem. Want to push everything to a staging server first? No problem. Want it deployed at a certain time? No problem.

The great thing to remember, YOU are in control.

For example, I recently set up a CI pipeline with the following features. 

  • One Click Deployment – Push code to both Live and Staging areas
  • Roll Back Feature – If something didn’t look right, another click rolled back to the last (or any version) you could choose
  • Zero Downtime – No downtime across any of the 6 servers when deploying
  • Deployment Continuity – All servers got the same code. No missing files

Why wouldn’t you have a CI pipeline?

Everything above sounds great? There is a drawback to CI, and that’s in the setup time.

If no one on your staff is familiar with the concepts, it can take a lot of man hours to get a stable system in place. There are lots of ways to do CI, which means you need to know what to avoid.

Should you use Bamboo or Jenkins, what testing framework should you use? These are all tough questions which require some experience. This is where we can help. If you need some advice on setting up a CI pipeline, contact us and we’ll be able to point you in the right direction.