Highlighted
Enthusiast
Enthusiast

Version control for vCO workflows and packages

Jump to solution

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
Highlighted
VMware Employee
VMware Employee

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

0 Kudos
15 Replies
Highlighted
VMware Employee
VMware Employee

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

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?

0 Kudos
Highlighted
VMware Employee
VMware Employee

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.

Highlighted
Enthusiast
Enthusiast

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

0 Kudos
Highlighted
VMware Employee
VMware Employee

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.  

Highlighted
Contributor
Contributor

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.

0 Kudos
Highlighted
Contributor
Contributor

Hi

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

0 Kudos
Highlighted
VMware Employee
VMware Employee

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
0 Kudos
Highlighted
Contributor
Contributor

Thanks a lot

0 Kudos
Highlighted
Contributor
Contributor

Thanks a lot

0 Kudos
Highlighted
Contributor
Contributor

Hello,

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

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.

0 Kudos
Highlighted
Contributor
Contributor

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

Highlighted
Enthusiast
Enthusiast

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.

0 Kudos
Highlighted
VMware Employee
VMware Employee

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.