Order of dependent builds
Hello,
Is it possible to ensure order of builds mentioned as snapshot dependencies in another build without introducing additional dependencies?
I have the following set of configurations:
- Deploy All (triggers deployment tasks below mentioned as snapshot dependencies in this one)
---- Deployment 1 .. N
The dependant tasks are Reset DB, Deploy DB, web applications, services, etc.
The Redeploy All task is used for initial environment reinstallation from scratch when source branch is changed. After that the tasks are independently triggered when corresponding VCS paths are updated.
I need to have the tasks executed in some defined order when they are triggered by Redeploy All. E.g., DB reset must not be executed after DB deploy. It would be also good to have some web applications deployed after DB update.
It is possible to introduce additional dependencies between the deployment tasks - e.g., make DB deployment dependent on DB reset. But it means that each time when DB needs to be updated it will be reset at first. It is not acceptable.
Now I have to run DB reset task at first, wait until it completes and then run the Redeploy All task (reset is removed from dependencies now). Order of other tasks execution is not so critical.
Are there any other ways to have tasks executed in the desired order?
Please sign in to leave a comment.
In my case it would be enough even to have a possibility to put the tasks to queue in the desired order without making sure that some ones are really finished.
Hi Stonehendge,
I'm afraid that there is no direct way to do what you want. We are considering approaches to ease this task for the future. As of now, you have the following option:
-Extract the build configurations as a build template.
-Make a copy of the build configurations
-Make redeploy all depend on the new instance of the build configurations instead of the old ones.
That way, you have a number of builds that share most of the configuration via the template, but you can set different dependencies for the different instances of the configurations.
Hope this makes sense, if you have any further question, don't hesitate to ask.