in reply to Effectively handling prerequisites during continuous integration

My first reaction was: Don't do it!

Install and test your set-up very thoroughly and then; stick with it until you have a need to change it. Then install and test the set-up with the changes, very thoroughly and then test again. And only then move your workload(s) over to it. But keep the old one running in parallel, ready for a quick back out if the results from the two do not compare. Only when you've run that way for a month or so, do you take the old set-up down.

Continuous integration is change for the sake of change; and (IMO) bloody madness.

But, assuming that isn't an acceptable answer to your question; then I'd suggest a two stage solution: one is your production system; the other your integration&test system. You run both with live data in parallel. Make your changes to the I&T system on Friday's whilst hording the input data; leave it to catchup with the production system over the weekend.

If on Monday everything checks out; it becomes your production system and the production system becomes your I&T system. Make the same changes to the new I&T system, run in parallel for a few days, then add the latest set of changes on Friday; catchup over the weekend.

Rinse & repeat.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I'm with torvalds on this
In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked
  • Comment on Re: Effectively handling prerequisites during continuous integration

Replies are listed 'Best First'.
Re^2: Effectively handling prerequisites during continuous integration
by ali0sha (Sexton) on Jun 11, 2015 at 09:38 UTC
    In this case, this is more about pre-release testing than about continuous deployment (ie we build and test every commit on develop, then every so often push a new version to prod, rather than pushing every commit straight to prod)

      Still sounds like your allowing your process to be driven by every random change in every one of your dependencies; rather than by the need of your own code.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority". I'm with torvalds on this
      In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked