Page 1 of 1

Continuous Delivery

Posted: Wed Aug 03, 2011 9:39 am
by Dr Danyo
Just wondering if anyone out there is practicing any form of continuous delivery with their JADE systems.

If so;
  • What processes (manual or automatic) do you use?
    How do you manage configuration changes?
    How do you schedule schema loads ?
    How do you handle reorgs (do you schema versioning etc)?
- Dr Danyo

Re: Continuous Delivery

Posted: Wed Aug 03, 2011 11:35 am
by allistar
Just wondering if anyone out there is practicing any form of continuous delivery with their JADE systems
Hey there,
A client of mine releases software updates (fixes and enhancements) on a daily basis. They have a JADE system that tracks individual units of change (called a "log"). In the wee hours of every morning this automatically makes the next upgrade (in a compressed file called a "package") and tests the application of it to a dozen different databases. If all goes well (i.e. the upgrade applies and there are no compile errors afterwards) then the package is uploaded to our FTP site, and an install shield installed is rebuilt with the new version and also uploaded. This is for the benefit of over 1200 JADE installations. It's up to the site (and their reseller) as to when they take these updates. Some take them regularly while others have a 6 month delay between updates. We have a custom written application (developed in C++) which is responsible for applying the upgrade(s) to the database. At the moment this is purely an offline process. All configuration (such as which schema and app to run, ini settings, app servers to connect to) is stored in the database server, and the client workstations use software (also developed in C++) each time they connect which first gets these settings (and many others) before executing jade.exe. This allows configuration changes to be made in a single location (in the JADE database) and all client workstations "magically" use those new settings the next time they connect. <shameless plug>This "connection management" software is in use by a number of JADE development teams, and can be used by you too! Just ask me</shameless plug>.

The only way we can do daily releases it to be able to use the change control provided by JADE deltas. We do not use patch versioning at all.

Cheers,
Allistar.

Re: Continuous Delivery

Posted: Thu Aug 04, 2011 2:52 am
by Dr Danyo
Hi Allistar,

I've passed on your response to a few people and we would be interested in discussing your approach to tracking changesets and building a release. Are you open to off forum communication ?

Dr Danyo

Re: Continuous Delivery

Posted: Thu Aug 04, 2011 8:48 am
by ghosttie
How do you make sure you don't push a bad change? Unit testing?

Re: Continuous Delivery

Posted: Thu Aug 04, 2011 9:19 am
by allistar
I've passed on your response to a few people and we would be interested in discussing your approach to tracking changesets and building a release. Are you open to off forum communication ?
Yes, no problem at all. You can contact me at allistar@silvermoonsoftware.co.nz.
How do you make sure you don't push a bad change? Unit testing?
Primarily through peer review and also UAT. We are investigating unit testing. A benefit of a continuous deployment mechanism is the a fix for a "bad change" (what we call an "introduced log") can be corrected and released fairly promptly - so most sites don't even see it because when they upgrade they also get the fix.