Container image with ansible-core alone, one tag per minor version, for
linting and testing Ansible content: ansible-test sanity and
ansible-test units run without downloading anything, their requirements are
already in the image.
It also runs playbooks: what ansible.builtin needs on the controller beyond
Python is installed too, such as the ssh client and sshpass for the
default connection, GNU tar, Info-ZIP's unzip, xz and zstd for
unarchive, pexpect for expect and passlib for password_hash.
Windows connections (winrm, psrp) are not supported.
GitLab Project : yoanncolin/container-images/ansible-core.
Every tag below is rebuilt weekly, to pick up ansible-core patch releases and
Alpine security updates. Each build is also published under its full version
(2.21.4), to pin a patch release.
| ansible-core | Tags | Python | Alpine |
|---|---|---|---|
| 2.21 | 2.21, latest | 3.14 | 3.24 |
| 2.20 | 2.20 | 3.14 | 3.24 |
| 2.19 | 2.19 | 3.12 | 3.23 |
Each core runs on the Python its Alpine release ships, chosen inside the core's controller range. A core dropped from this table keeps its tags, which are no longer rebuilt.
The container runs as the build user (non-root). ansible-test only runs
from ansible_collections/<namespace>/<name> and writes its results there, so
the collection must be checked out under such a path, writable by that user.
GitLab CI usage, one job per core your collection supports; GIT_CLONE_PATH
puts the checkout where ansible-test expects it :
sanity:
image: gwerlas/ansible-core:$CORE
variables:
GIT_CLONE_PATH: $CI_BUILDS_DIR/ansible_collections/<namespace>/<name>
parallel:
matrix:
- CORE: ["2.19", "2.20", "2.21"]
script:
- ansible-test sanity
- ansible-test units
Images built on top of this one install their Python dependencies either with
apk (Alpine's py3-* packages are visible to Ansible) or with pip, which
installs into /opt/ansible.
Content type
Image
Digest
sha256:b5af4ecd3…
Size
69.7 MB
Last updated
about 11 hours ago
docker pull gwerlas/ansible-core