Automation Engine Integration with VCS


#1

Hi guys.
For the purposes of the managed infrastructure we need good integration with version control systems for custom code in the methods. Out of the box I have not found such possibility and I can’t find the code of the methods in the file system. Estimated workflow I see the following - commit/push to git, trigger (CI/CD) and as a result the updated method in the Automation Engine. What tools should I use for such purposes ? Any plans to add such functionality ? I need to use the REST API ?


#2

Current master branch has a support for git-managed automate domains, but I am not sure yet whether you can control that via API now.

There is an older thread here: Version control integration

There is a Jenkins-based CI effort here: https://github.com/rhtconsulting/miq-ci .
This one can also store dialogs, buttons, …

You can always use the rake scripts (evm:automate:import and evm:automate:export) to import and export the domain as a ZIP file and extract it to the repository (and reverse) and build your automation around that. That is what the miq-ci uses anyway.

Hope this helps.
Milan Falešník, Senior QE


#3

We use git and the rhtconsulting scripts to do imports/exports. We have also written a few supporting rake tasks, scripts, and ansible playbooks to make the deployment a little easier when doing remote work.

The following rake tasks have helped us when creating the ansible playbooks. Note that these are not supported by RH and we are working to test them against CF 4.1 as we upgrade to ensure that we do not break things. https://github.com/ewannema/cbts-cfme-tasks

The git support in Automate domains is a promising feature, but in the beginning at least it is limited to replacing Automate domains from a git repository which is a use case that we are already covering with the above steps. If we get versioned workflows and potentially versioned dialogs, catalogs items, etc, it will be much more meaningful to us.