Skip to content
This repository has been archived by the owner on May 2, 2020. It is now read-only.

Dockerized Debian for Ansible playbook and role tests.

License

Notifications You must be signed in to change notification settings

yawpitch/docker-ansible-debian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debian Buster (10) Ansible Test Image

Travis Automated build Docker Automated build

Dockerized Debian Buster (10) for Ansible playbook and role tests.

For Ansible Testing Only

This image is intended solely for automated testing of Ansible playbooks and roles as a local process inside a container running on a CI server such as Jenkins or Travis. It is neither configured nor intended for use in any secure or production environment, and any use is at your own risk.

Getting Started

First, Install Docker, then choose which image to use.

Option 1: Pull from Docker Hub

Any time a commit is merged to the master branch of this repo, or any time there is a rebuild of the upstream OS container, an Automatic Build will occur on Docker Hub. You can use this be pulling the image to your local machine:

sudo docker pull yawpitch/docker-ansible-debian-buster:latest

For convenience, a make pull target has been provided to do this for you. You can also both pull & verify the current Docker Hub image with the following command:

make test-hub

This will ensure that a container launched with from the image at minimum contains the ansible command.

Option 2: Local build

If you wish to build the image on your local machine, git clone this repo, cd into the repo, and then run:

sudo docker build -t docker-ansible-debian-buster .

For convenience, a make build target has been provided to do this for you. You can also both build & verify a local image of the current repo with the following command:

make test-local

This will ensure that a container launched with from the image at minimum contains the ansible command.

Use in Ansible playbook & role testing

First, Run a container from the image:

docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro [IMAGE NAME]:latest

To test Ansible roles, add in a volume mounted from the current working directory of the role:

docker run --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro --volume=`pwd`:/etc/ansible/roles/role_under_test:ro [IMAGE NAME]:latest    

Then use docker exec to acccess Ansible inside the container:

docker exec --tty [container_id] env TERM=xterm ansible --version
docker exec --tty [container_id] env TERM=xterm ansible-playbook /path/to/ansible/playbook.yml --syntax-check

Author

Maintained by Michael Morehouse (yawpitch), slightly modified from the work of Jeff Geerling, author of Ansible for DevOps.

About

Dockerized Debian for Ansible playbook and role tests.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published