VMware Cloud Community
LejinDu
Enthusiast
Enthusiast
Jump to solution

Version control for vCO workflows and packages

vCO workflows have version numbers although you have to put the version numbers explicitly via vCO Client (UI). What about Packages (vCO workflow packages)? When I export the packages and then import them to different systems for different use cases, how can I make sure I install the correct version of packages?

Thanks.

1 Solution

Accepted Solutions
iiliev
VMware Employee
VMware Employee
Jump to solution

What do you mean by 'correct version of packages'?

Packages are container for versionable elements but packages themselves do not have a version. If you need to export multiple versions of the same package (with different set of workflows and other elements, or with different versions of workflows and other elements), you may put some descriptive text in the package file name when exporting it. For example, when you export package com.vmware.library.configurator, you may change the default file name from com.vmware.library.configurator.package to something more descriptive like com.vmware.library.configurator-v1-demo.package

View solution in original post

Reply
0 Kudos
15 Replies
iiliev
VMware Employee
VMware Employee
Jump to solution

What do you mean by 'correct version of packages'?

Packages are container for versionable elements but packages themselves do not have a version. If you need to export multiple versions of the same package (with different set of workflows and other elements, or with different versions of workflows and other elements), you may put some descriptive text in the package file name when exporting it. For example, when you export package com.vmware.library.configurator, you may change the default file name from com.vmware.library.configurator.package to something more descriptive like com.vmware.library.configurator-v1-demo.package

Reply
0 Kudos
LejinDu
Enthusiast
Enthusiast
Jump to solution

Thanks, Ilian. Your answer is correct and that is what we are doing for now. I just wish the package could have some kind of version info similar to workflows, or is there an external tool to have the packages linked to SVN/GIT version control system?

Reply
0 Kudos
iiliev
VMware Employee
VMware Employee
Jump to solution

We do have a Maven plug-in which can translate package elements (workflows, actions, resources, etc) to XML files and assemble these files back to binary package. Most of the newer vCO plug-ins use it to keep their content in VMware Git repository. The typical steps to use it are:

1) The user creates a Maven project for the package (we have a Maven archetypes that generate plug-in skeleton)

2) The user compiles this Maven project and import the produced *.package file into vCO

3) The user makes some modifications using vCO Java client, for example, adds new workflows/resources/etc to the package, removes existing package elements, modifies some of the packages elements.

4) When the user is done with package modifications, it runs a Maven command that updates the XML files in the package Maven project to match the modified binary package in the vCO server.

5) The user commits the changed XML files to the version control system (GIT/SVN/whatever)

6) Repeat from step 3.

So, you can keep the different versions of the package content as different commits in SVN/Git. If at some point you want to recreate an older version of the package, you just checkout the appropriate revision from SVN/Git, build the Maven project, and get the binary package file.

LejinDu
Enthusiast
Enthusiast
Jump to solution

Thanks a lot, Ilian. That is what I am looking for.

Reply
0 Kudos
igaydajiev
VMware Employee
VMware Employee
Jump to solution

In up-comming vCO 5.5.1 update there  is "Export to file" functionality available in the vCO Swing client (right click on the package) which will allow you to export the vCO package to disk. Using this option will also create a pom.xml file for preparing .package file from exported content.  

nilaychheda
Contributor
Contributor
Jump to solution

I couldnt find Export to File feature in VCO 5.5.1 or 5.5.2. Do i need to install any plugin for this.

Reply
0 Kudos
nilaychheda
Contributor
Contributor
Jump to solution

Hi

which plugin is that? Is that available for download? Licenses?

Reply
0 Kudos
Burke-
VMware Employee
VMware Employee
Jump to solution

Actually, when you right click on a package in vCO/vRO, the menu options are as shown here:

Screen Shot 2015-01-14 at 4.07.58 PM.png

Screenshot taken from vCO 5.5.2. There is no plug-in required for those two Export/Expand menu options, they are standard features of vCO/vRO.

Export package exports a binary zip file with a .package extension that may be imported back to your vCO server or to another server. This serves as a nice backup for your work and is the recommended process when developing content for clients or other organizations.

Expand package to folder dumps the package contents as a bunch of .xml files and a .pom flie

Screen Shot 2015-01-14 at 4.14.57 PM.png

If my answer resolved or helped you, please mark it as Correct or Helpful to award points. Thank you! Visit http://www.vcoteam.info & http://blogs.vmware.com/orchestrator for vRealize Orchestrator tips and tutorials - @TechnicalValues on Twitter
Reply
0 Kudos
nilaychheda
Contributor
Contributor
Jump to solution

Thanks a lot

Reply
0 Kudos
nilaychheda
Contributor
Contributor
Jump to solution

Thanks a lot

Reply
0 Kudos
rickvelez
Contributor
Contributor
Jump to solution

Hello,

Where I can find your maven plugin to do this and/or maven archetypes?

Reply
0 Kudos
chadmichael
Enthusiast
Enthusiast
Jump to solution

There supposed to be a maven repo on the vCO appliance, I think.  Also, one of the export to disk options in the vCO will expand the package to disk and it will include a maven pom.

Reply
0 Kudos
janekg
Contributor
Contributor
Jump to solution

You can check FlowGrab.com - central code repository for vRO workflows.

Short video (6:40) about plugin (to access directly from vRO FlowGrab) is here: https://www.youtube.com/watch?v=RE3TUbVP4Fw

Longer presentation in vBrownBag recordings: http://professionalvmware.com/2015/02/vbrownbag-sharing-and-managing-vco-workflows-using-flowgrab-wi...

From licensing:

- free community edition is free

- cloud edition subscription base

- on-premise Enterprise appliance

Comparison of editions FlowGrab: Features 

Hope this is useful from another angle

Janek

janek@flowgrab.com

weilin07
Enthusiast
Enthusiast
Jump to solution

Hi, do you have more details about how to use it? I want to use maven to generate the vRO code and push to a Git system.Thanks in advance.

Reply
0 Kudos
iiliev
VMware Employee
VMware Employee
Jump to solution

Are you asking about FlowGrab solution, or how to use vRO tooling?

If about FlowGrab - they are inactive since October last year.

For vRO tooling, you can use either vRO Client which has commands like Expand package to folder and Import package from folder in Packages tab inside left panel, or a command like

mvn o11n-package:import-package -DserverUrl=user:password@vrohost:8281

which, when run from within the folder where a package source is on disk (assuming you have used one of vRO plug-in Maven archetypes to generate plugin/package, as documented on Develop with the Orchestrator server page on vRO appliance home page), will update the package content XML files from package content stored into vRO database.