From ebfd2bf236ddaf7206dc77877dc9eb2d07a0dec9 Mon Sep 17 00:00:00 2001 From: William Yeh Date: Tue, 28 Apr 2015 12:21:34 +0800 Subject: Add: onbuild and debian8. --- debian8-onbuild/Dockerfile | 47 ++++++++++++++++++++++++++++++++ debian8-onbuild/ansible-playbook-wrapper | 30 ++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 debian8-onbuild/Dockerfile create mode 100755 debian8-onbuild/ansible-playbook-wrapper (limited to 'debian8-onbuild') diff --git a/debian8-onbuild/Dockerfile b/debian8-onbuild/Dockerfile new file mode 100644 index 0000000..04eadb5 --- /dev/null +++ b/debian8-onbuild/Dockerfile @@ -0,0 +1,47 @@ +# Dockerfile for building Ansible image for Debian 8 (jessie), with as few additional software as possible. +# +# @see https://launchpad.net/~ansible/+archive/ubuntu/ansible +# +# Version 1.0 +# + + +# pull base image +FROM debian:jessie + +MAINTAINER William Yeh + + +RUN echo "===> Installing python, sudo, and supporting tools..." && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive \ + apt-get install -y \ + python python-yaml sudo \ + curl gcc python-pip python-dev && \ + \ + \ + echo "===> Installing Ansible..." && \ + pip install ansible && \ + \ + \ + echo "===> Removing unused APT resources..." && \ + apt-get -f -y --auto-remove remove curl gcc python-pip python-dev && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* && \ + \ + \ + echo "===> Adding hosts for convenience..." && \ + mkdir -p /etc/ansible && \ + echo '[local]\nlocalhost\n' > /etc/ansible/hosts + + +COPY ansible-playbook-wrapper /usr/local/bin/ + +ONBUILD RUN DEBIAN_FRONTEND=noninteractive apt-get update +ONBUILD WORKDIR /tmp +ONBUILD COPY . /tmp + + + +# default command: display Ansible version +CMD [ "ansible-playbook", "--version" ] diff --git a/debian8-onbuild/ansible-playbook-wrapper b/debian8-onbuild/ansible-playbook-wrapper new file mode 100755 index 0000000..bf137c8 --- /dev/null +++ b/debian8-onbuild/ansible-playbook-wrapper @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Simple wrapper for executing ansible-playbook with local connection. +# +# USAGE: +# ansible-playbook-wrapper [other ansible-playbook arguments] +# +# ENVIRONMENT VARIABLES: +# +# - PLAYBOOK: playbook filename; default = "playbook.yml" +# - INVENTORY: inventory filename; default = "/etc/ansible/hosts" +# + + +if [ -z "$PLAYBOOK" ]; then + PLAYBOOK=playbook.yml +fi + + +if [ -z "$INVENTORY" ]; then + exec ansible-playbook \ + $PLAYBOOK \ + --connection=local \ + "$@" +else + exec ansible-playbook \ + -i $INVENTORY $PLAYBOOK \ + --connection=local \ + "$@" +fi -- cgit v1.2.3