fbpx
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

5 Continuous Integration Best Practices to Consider

Published by SPK Blog Post
on July 8, 2014

This week we would like to have a look at some continuous integration best practices. The list presented here is not exhaustive, and was inspired by a larger post on the topic at:  http://www.thoughtworks.com/continuous-integration

Our purpose is to expand on some of the concepts presented by ThoughtWorks and explain why these are best practices for continuous integration as part of your software development lifecycle (SDLC). There are additional practices that can be considered, but for today, we limit ourselves to expanding on these five:

  1. Automate the build – Builds are typically automated on one (or both) of two ways. One way is to initiate a build at a specific time of day, usually in the evening after development work has completed for the day.The other (and more useful) method for immediate feedback is to initiate a build after each source code check-in is done to the code repository. The obvious benefit is that each change made by a developer is evaluated by the build, rather than waiting for a daily build event. This immediate evaluation provides feedback on the single change set, rather than having to determine which change caused a problem in some nightly build.
  2. Keep the build fast – This probably should go without saying, but often even the obvious should be said. If the build is fast, developers will depend on the build to give them quick feedback. If the build takes an hour or longer, developers will find ways to work around the system, or will not use it.
  3. Make your build self-testing – This is key! Assuming there are no compile errors, we want to have some kind of handle on the code quality. The trick here is to limit this quick, initial testing so that it does not conflict with the goal of speed. If too many unnecessary items are included in the initial test run, it may become too slow to be useful to the developers.
  4. Test in a clone of the production environment – Again, the obvious. If you really want to know the state of your code, keep a spare copy of the production environment around to test it against. And update that copy regularly!
  5. Automate deployment – For some of the same reasons you automate anything, to eliminate human errors and oversights! Push a button, or run a command, and the build results are deployed. But don’t forget to run a test of the deployment also!

Again, this list of continuous integration best practices is not intended to be the last word. But hopefully we have provided enough thoughts here to get you started on your own list! Check back and let us know what you thought.

Next Steps:

Latest White Papers

How CloudBees Uses Feature Management to Gain Competitive Advantage

How CloudBees Uses Feature Management to Gain Competitive Advantage

In this whitepaper, you’ll discover how CloudBees Feature Management Flags can help you gain a competitive advantage in the market.  Discover CloudBees Feature Management In this CloudBees Feature flag whitepaper, you’ll learn: How to increase your developer...

Related Resources

STRATTEC Security Corporation’s PTC Windchill PLM ROI Case Study

STRATTEC Security Corporation’s PTC Windchill PLM ROI Case Study

STRATTEC Security Corporation deployed PTC Windchill to replace its existing product lifecycle management (PLM) solution. Additionally, they wanted to improve product design tracking and collaboration. Nucleus found that PTC Windchill PLM enables increased...

SPK Accelerates Fortune 100 MedDevice Product Sale

SPK Accelerates Fortune 100 MedDevice Product Sale

Our client is Fortune 100 Medical Device manufacturer. SPKAA acts as a product cybersecurity managed service provider for their hospital products which have embedded Windows or Windows OS.   Fortune 100 MedDevice Problem For over 10 years, SPK has provided ongoing...

Streamlining Design Controls For A Leading Medical Device Maker

Streamlining Design Controls For A Leading Medical Device Maker

SPK helps this global enterprise to boost product development efficiencies, increase compliance reliability, generate reports with a single click, and shave weeks off their development/release cycles. The Client A respected global medical device powerhouse, with more...