Ansible Execution Environments – Dependency Management
No more "it works on my machine". Here's how to use Execution Environments to run Ansible identically everywhere.

It has always been tricky to keep the Ansible environment consistent for developers, in pipelines, in AWX, and on standalone nodes. Python libraries, roles, collections, and system packages – everything needs to align.
The Problem
Manual pip install here and there, "it works on my machine" all the way. Roles that install dependencies on every run – slow and fragile.
The Solution: Execution Environments
An EE is a container image with:
- The correct Python version
- The correct Ansible version
- All collections
- All system packages
ansible-builder builds the image from a definition. Then you run ansible-navigator or AWX against the EE – the exact same environment everywhere.
Example execution-environment.yml
version: 3images: base_image: name: quay.io/ansible/ansible-runner:latestdependencies: galaxy: requirements.yml python: requirements.txt system: bindep.txtThe Benefits
- Reproducible execution.
- Faster runs – dependencies are already present.
- Easier to update Ansible without breaking customer playbooks.
Read more in Ansible's official documentation or contact us and we'll show you how we use it in real-world projects.

Automation, IaC or CI/CD? I'll connect you with a consultant who has built it before.
Related articles

How to Leave VMware Without Breaking Production
A migration guide for teams that cannot afford downtime: mapping, destination selection, and migration in waves with tested rollback.

Cisco NSO: Why Your Company Needs It – and How to Get Started
Network automation is hot, but where do you begin? We explain why Cisco NSO is often the right tool and how to take the first step.

How to secure your Docker image build pipeline
A robust and secure build process for your Docker containers is a central part of protecting applications in production. Here's how we do it.


