Wrong tasks order in new plans
If there are tasks before 'Source code checkout' task, they all are moved AFTER checkout. See the picture. The left side is template and on the right - applied template.
Did not even checked what will happen if there are two checkout tasks ;)
Comments (6)
-
repo owner -
Account Deleted IMHO the whole idea of templates is to receive 100% identical functionality (set of tasks in our case), but customize it with local variables/dependencies/etc. When you create 'Source code checkout' task it always defaults to 'Default repository'. So you can customize this step on plan level by defining which repository will be 'Default' one. So I don't really think that this must be someway specially handled when template applied. You must still clear task list and add 'checkout default repository' task. This is how I would implement it. If someone creates plan, checks the 'use template' mark and then adds extra- or customize steps in this plan, he must be ready to loose all the customization after template re-apply. There cannot be any exclusion. Want another set of steps? Make another template. Or make your template customizable.
Current realization is just broken :)
-
repo owner Hi,
current implementation works as designed but is quite limited, it can handle the templates quite ok if you are having the checkouts as first tasks in your jobs. Regarding your improvement suggestion I can try to tackle it in next 1-2 days, should not be a problem, is just another way of merging the build configurations.
Regarding deployment plans, as the UI cannot be customized I used variables to mark templates and relationship between environments.
I am sorry the current implementation doesn't fit your needs and thanks for your feedback.
J
-
repo owner New feature released to marketplace, retain order of tasks ! Config page of job has a new checkbox triggering the new merge functionality.
this is only available on build plans, not deployment environments, there is a bit more complicated but not impossible.
J
-
Account Deleted current implementation works as designed but is quite limited
Under 'just broken' I meant that it doesn't work as intended without any documentation remark about such exception ;) Nice to see such fast fix, will check it tomorrow.
-
repo owner I published on the marketplace also the deployment project solution also, have fun !
I am trying to build more documentation on a blog - https://iuliusathome.blogspot.de/p/template-build-and-deployment-for-bamboo.html
Is not much, as I just started.
J
- Log in to comment
Hi,
the system during the merge is basically deleting all old tasks from the job but skips checkout tasks and brings the tasks from the template by appending them to the remaining job definition.
In the build jobs all checkout tasks are left intact in the same order while all the other tasks are being pulled from template. In deployment jobs all release download tasks are left intact and rest is being pulled from template.
I can try to reorder everything as a last step in case the template task names is identical to the original but this is a bit risky in terms of existing customers using the plugin.
Given these details do you think you can around this problem ? I can try also to add one extra parameter to the misc configuration that would enable this reordering mechanism.
J