Building Execution Environments in AAP 2.7 without the command line

One of my teammates, Aubrey, recently put together a walkthrough of the new Execution Environment Builder in Ansible Automation Platform 2.7, and I thought it was worth sharing here for anyone who spends time maintaining execution environments.

The demo shows how to build and publish an execution environment directly from the Automation Portal UI. Instead of manually creating definition files and running build commands, you can select collections, add Python/system dependencies, and let AAP handle the build and publishing process.

A few things covered in the video:

  • Selecting a base execution environment image
  • Adding collections from Private Automation Hub, GitHub, or GitLab
  • Including Python and system package dependencies
  • Publishing the resulting image to a container registry
  • Tracking build progress and logs from the UI

What I found interesting is that it lowers the barrier for teams that may not be comfortable maintaining container build workflows but still need custom execution environments for things like network automation, cloud automation, or integrating additional Python libraries.

If you’ve been curious about how the new builder works in practice, this gives a good end-to-end look at the workflow.

I’m also curious how others are currently managing their execution environments today—manually with ansible-builder, through CI/CD pipelines, or something else?

hello, ansible-builder CLI user here,

is Automation portal only for AAP 2.7 OCP or does it work for containerized installations too ?

It looks great for most use cases, but I fear edge cases : when you need a python module which requires compilation, or when pip tries to uninstall from base image some RPM installed python module to install a more recent version, or when you need to include third-party binaries (kubectl, oc, …).

I already had a request for an old ansible collection I had to package first as a tar.gz, or for a collection which during its install process tried to download some components from github.com (not always accessible when you are behind corporate firewalls).

Working with different base images (ubi 8 or ubi 9) can be annoying too, as you have to switch to the approprate base rpms / appstream / codeready / EPEL repo.

Eventually, I realize i only have a few “simple” cases :frowning: