Automation Assembler supports integration with various flavors of Git repositories so that you can manage VMware cloud templates and action scripts under source control. This functionality facilitates auditing and accountability of processes around deployment.

Automation Assembler supports different flavors of Git integration as described in the following list. Each of these options is a separate integration.

  • GitHub cloud
  • GitLab cloud
  • GitLab Enterprise

You must have an appropriate local Git repository configured with access for all designated users in order to set up Git integration with Automation Assembler. Also, you must save your cloud templates in a specific structure in order for them to be detected by Git. To create an integration with GitLab or GitHub, select Infrastructure > Connections > Integrations in Automation Assembler and then make the appropriate selection. You will need the url and token for the target repository.

When Git integration is configured with an existing repository, all cloud templates associated with selected projects become available to qualified users. You can use these templates with an existing deployment or as the basis of a new deployment. When you add a project, you must select some properties regarding where and how it is stored in Git.

You can save actions to a Git repository directly from Automation Assembler. You can version action scripts either directly to Git, or you can create versions in Automation Assembler. If you create a version of an action in Automation Assembler, then it is automatically saved to Git as a version. Cloud templates are a bit more complicated, because you cannot directly add them to a Git integration from Automation Assembler. You must save them directly to a Git instance, and then you can retrieve them from Git when working with the cloud template management page in Automation Assembler.

Before you Begin

You must create and save your cloud templates in a specific structure in order for them to be detected by GitLab or GitHub.

  • Configure and store cloud templates to be integrated with GitLab correctly. Only valid templates are imported into GitLab.
    • Create one or more designated folders for the cloud templates.
    • All cloud templates must be stored within blueprint.yaml files.
    • Ensure that the top of your templates include the name: and version: properties.
  • Extract an API key for the applicable repository. In your Git account, select your login in the upper right corner, and click Developer Settings. Navigate to Personal Access Tokens, and then name your token and set an expiration date. Then, select API and create the token. Copy the resulting value and save it.

The following guidelines must be observed for all cloud templates used with Git integration.

  • Each cloud template must reside in a separate folder.
  • All cloud templates must be named blueprint.yaml.
  • All cloud template YAML files must use name and version fields.
  • Only valid cloud templates are imported.
  • If you update a draft cloud template imported from Git, and its content differs from that in the top version, the draft will not be updated in subsequent syncs and a new version is created. If you want to update a template and also allow further sync's from Git, then you must create a new version after final changes.