When presenting our standard Life Cycle Management solution we often get the question about selectively deploying ODI objects that haven been committed to the version control repository.
Our standard implementation starts from an ODI Development repository and allows you to select from the added and modified objects these added and modified objects you want to commit or put in the version control repository. Once the code is committed, there is no way back. When you deploy (restore) to Test or Production Repositories all committed objects are taken into account. It is just a sequential process and a standard life cycle management process.
Our “Build” process, what “builds” our deploy archive can be set to collecting a full set of objects or to cumulatively select just the objects that changed in comparison with what is currently into your production repository.Of course our restore process allows you to deploy all committed objects (with or without dependencies) or to restore just for one or more specific ODI projects and to take into account topologies or not.But as this question came back on not deploying all committed objects, but just a selection, we came with following solution! It uses our standard features and is simple to setup.
You just create two life cycles, one for development to test and a second for test to production and each of them have their own version control repository. One where you commit your development objects in and a second one that is used to commit just these objects from your Test repository that you have tested and that you want to restore in production.
The development life cycle looks as follows:
From the Development Repository through VCR4ODI you commit the objects you want to the development SVN. The IKANALM Build process creates the desired deployment archive and restores (deploys) that archive to your ODI Test Repository.
Let’s say you committed from your Development Repository objects A,B,C and D, created a deployment archive and restored A,B,C and D to your Test repository. Once the tests are finished you just want to restore objects A and D into Production.
Here is your second Life Cycle:
From the Test Repository through VCR4ODI you commit the objects you want to the second version control repository, your Production SVN. The IKANALM Build process creates the desired deployment archive and restores (deploys) that archive to your ODI Production Repository.
Let’s say you want to restore from your Test Repository objects A and D. You commit A and D from the test Repository to the second version control repository, your Production SVN. Next you created a deployment archive and restored A and D to your Production repository.
It is as simple as that!
About the author
Hello, my name is René De Vleeschauwer.
Throughout my career I've been responsible for the development of enterprise software. Since 12 years I've been leading the development of IKAN ALM, an open DevOps framework.
Do you have any questions about this post? Just ask me!