← Back to the blog

Build Tools for VMware Aria

https://www.simplygeek.co.uk/series/build-tools-for-vmware-aria…

VCF Automation – Build Tools for VMware Aria – Up and Running

This post updates my IaC for vRealize series with Build Tools version 4.7.0, the latest release when I wrote it. The guidance is intended for version 2.30.x or later. Earlier versions may not work as described. vRealize Build Tools was renamed Build Tools for VMware Aria. The former VMware Fling is now an officially managed open-source project on GitHub. Its integrations extend beyond Orchestrator to manage content for these VCF solutions: Build Tools for VMware Aria is available in public Maven repositories. Except for the keystore, you no longer need to upload artefacts manually or use a vRO 7.3 appliance. With direct internet access, you can create a project and start using the tools. For enterprise environments, I recommend a supporting platform to provide greater control. I will not be covering the following in this post: These topics need dedicated posts and are not prerequisites for this setup. I strongly recommend an artefact repository manager to store supporting artefacts and integrate them with deployment targets and pipelines. Options include Artifactory, Nexus and GitLab. Many enterprises already have repositories, projects and permissions in place. The basic setup below is for guidance and demonstration. This guide does not cover every product or deployment option. I deployed JFrog Artifactory in a container managed by Podman on Rocky Linux 9, following this guide. You can follow the same guide or adapt the deployment to your environment. Before continuing,…

VCF Automation – Build Tools for VMware Aria – Overview of VCF Automation Projects

Build Tools for VMware Aria supports several project types. This post explains those used to manage VCF Automation and VCF Operations Orchestrator content, when to choose them and how to create them. The available project types are: The project names use the older product acronyms:vRA = VCF AutomationvRO = VCF Operations Orchestrator. There are also two legacy project types, but I will not be covering these in this post. The examples use the Build Tools version available when I wrote this post, set by archetypeVersion. Check the GitHub project for newer releases. I recommend using the latest version. Create a root folder for your projects. My examples use aria-automation. This creates a TypeScript project for Orchestrator content. It supports development features such as ECMAScript 6 syntax, module dependencies and class inheritance. The project manages workflows, actions, configurations and resources as native TypeScript .ts files. You can maintain all of this content in one place using the same language. This project type requires a good understanding of JavaScript and TypeScript. Consider these limitations: If you have TypeScript experience and can work within these constraints, this project type lets you manage Orchestrator content as an application. Set ‘groupId‘ and ‘artifactId‘ to your values. The command creates a folder named after artifactId: vro-ts in this example. Inside it, src has the following structure: Additional folders can be created and referenced using…

VCF Automation – Build Tools for VMware Aria – Visual Studio Code Integration

The Build Tools for VMware Aria project provides a Visual Studio Code extension. It adds the following features for developing VCF Automation content in the IDE: I encountered several issues with the extension and found its support limited. For me, the main benefit of Build Tools is already being able to manage the code in VS Code. The vRealize Developer Tools extension for Visual Studio Code can be installed from the VS Marketplace. Restart Visual Studio Code after installing the extension. I encountered issues when I skipped this step. Match the extension's Build Tools version to your projects. On its extension page, select the cog icon, then Extension Settings. Set Build Tools Default Version to the required version. I used 4.2.1, the latest version when I wrote this post. Open the command palette and search for vrealize to see the extension's commands. Use vRealize: Change Active Profile to select the active connection to VCF Automation and VCF Operations Orchestrator. Profiles are those that have been defined in the Maven settings.xml file. I find profile switching useful for viewing content from a specific environment. I have not found another use for it. Use vRealize: New Project to create a supported Build Tools project. Part 2 of this series describes the options: VCF Automation – Build Tools for VMware Aria – Overview of VCF Automation Projects. Select a project type. This example uses vRO JavaScript-based. Enter the group ID. This example uses com.simplygeek.…

VCF Automation – Build Tools for VMware Aria – Useful Maven Command Reference

Earlier posts covered Build Tools setup and basic projects. This reference collects the Maven commands for creating projects, pushing and pulling content, and cleaning up packages, together with their parameters. In each example, replace groupId and artifactId with your values. Set archetypeVersion to the required Build Tools version. For new projects, use the latest available release. A TypeScript-based project manages all Orchestrator content: workflows, actions, resources and configurations. Create one with this command: A JavaScript-based project manages only Orchestrator actions. It does not support workflows, resources or configurations. Create one with this command: An XML-based project manages workflows, resources and configurations in Orchestrator's native XML format. It also supports actions, but I recommend a JavaScript-based project to avoid wrapping them in XML. Create an XML-based project with this command: Set workflowsPath to the top-level Orchestrator folder for the workflows. You can add more folders later. This Maven multi-module project contains JavaScript-based and XML-based subprojects. The Build Tools documentation recommends it for initial onboarding. I prefer creating the two projects separately and do not recommend this type. To create a mixed project, use this command: An ABX project manages a VCF Automation ABX action. ABX provides an alternative orchestration runtime to Orchestrator. Each action needs its own project, which adds management…