I'm trying to figure out how to create a snapshot of an application (which has a number components) when one or more of the components get a new version.
I could get snapshot component versions using a REST API call. First make a snapshot at 8am, then every 10 minutes create a new timestamped snapshot. Get snapshot component versions from the second snapshot, and compare the two snapshots' component versions. If there is a change then keep the newly created timestamped snapshot, if no change then delete the newly created timestamped snapshot.
Is there a simpler method?
Answer by abhipatti (2677) | Mar 09, 2016 at 09:00 PM
The following method, I have not tested yet but just throwing an idea out here. If anyone has a better way or find something wrong in my method, please correct it.
Basic Idea is to use the a feature in component , where we run process after a version is created. This way, whenever a component gets a new version from RAM, we run the application process, which either calls another component process or a generic process, that creates a snapshot. This way, we make sure that after each version import a snapshot is created.
Steps:
1) Create a application process that calls a component process which uses step Create Snapshot under IBM UrbanCode Deploy - Applications OR
2) Create a application process that calls a generic process which uses step Create Snapshot under IBM UrbanCode Deploy - Applications
Then
1) Goto Component which gets new versions from RAM and open configuration tab. 2) In configuration tab, select Basic Settings then check the checkbox "Run Process after a Version is Created and select Application process created earlier and environment.
Right Now, I cannot think of any disadvantages regarding above method or any obvious issues. But I will test it out tomorrow and make changes to my answer if I find something
@David__Jones , I would agree with @abhipatti suggestion. However, I would add a small suggested wrinkle. The automated process that gets kicked off should not just create a snapshot in my opinion, it should do a minimal deploy of the new component version, to a "component integration" environments, and if that works, then create the snapshot (and lock it) from that environment.
If you decide to go down that road, I have a little generic process utility that you can use to simplify the snapshot creation and locking process. I will ping it to you on slack.
Jenkins urbancode plugin gets error publishing a second time 1 Answer
JSON Error occurred while checking the UCD server for the application process 0 Answers
Jenkins plugin fails with security certificate mismatch error in a distributed environment 1 Answer
[uDeploy] Is it possible to combine snapshot and environment gate? 2 Answers