34 Commits
0.7 ... 1.2.1

Author SHA1 Message Date
35c80963b3 missed a && 2020-10-31 19:26:14 +01:00
43623da900 also upgraded ansible in debian 8 2020-10-31 18:57:30 +01:00
74ced09e91 fixup from last release 2020-10-31 18:54:14 +01:00
58c2f3da3f install ansible via apt 2020-10-31 17:42:54 +01:00
c83c16211d added debian 9 and 10 and removed 7 2020-10-31 17:24:36 +01:00
f7b497bfc4 added goss 2020-10-31 16:47:55 +01:00
e312aac855 and now to actually build it X_x 2020-06-11 12:45:06 +02:00
a8b69e8750 centos 8 and frontend settings to install 2020-06-11 12:23:02 +02:00
b003743058 don't ask me during install 2020-06-11 12:11:44 +02:00
beb79f4b87 no ppa needed 2020-06-06 01:40:58 +02:00
e4eaf6b298 ubuntu 19.04 is eol 2020-06-06 00:25:47 +02:00
e91f74e2ba ubuntu 20.04 support 2020-06-06 00:16:38 +02:00
d8e7aed134 added mutiarch support for debian7 2019-11-17 19:07:04 +01:00
10e594b29b added mutiarch support for debian8 2019-11-17 19:03:39 +01:00
2612d77af0 updated alpine to 3.10 to support multiarch 2019-11-17 18:39:54 +01:00
8e3863ca2c python2 is dead 2019-11-17 18:28:26 +01:00
26eeda67d1 using buildx to support multiarch. sadly not available for drone :/ 2019-11-17 18:15:09 +01:00
d0351f79ff added ubuntu 19.04 2019-10-27 21:35:29 +01:00
1dcddacca3 added git as a dependency of ansible galaxy 2019-10-08 21:53:22 +02:00
e82200abfc drone fmt 2019-05-25 17:45:10 +02:00
43b83e7c94 this is so ugly -.- 2019-05-25 17:41:28 +02:00
4134b9ce5f fixed missing name for debian 8 2019-05-25 17:33:57 +02:00
71600ee52c debug 2019-05-25 17:24:36 +02:00
120fd5ba1f trying new style again 2019-05-25 17:22:20 +02:00
46340b6942 added missing dependencies for arch 2019-05-25 16:25:10 +02:00
da2bf61102 mäh using old stype again...
Some checks reported errors
continuous-integration/drone/tag Build was killed
2019-05-24 18:55:30 +02:00
cc36058ab9 drone fmt 2019-05-24 18:53:21 +02:00
cc9ef207ad settings in seperated block 2019-05-24 18:50:04 +02:00
0ee743dc21 refactored pipeline 2019-05-24 18:44:07 +02:00
bdbf04cf5f concurrent builds? 2019-05-24 18:39:36 +02:00
71196252ee #2 fixed and changed drone.yml 2019-05-24 18:33:20 +02:00
51eb696e96 #1 added ubuntu 18.04 support 2019-05-24 18:06:01 +02:00
1999ac0aed version
Some checks reported errors
continuous-integration/drone/tag Build was killed
2019-03-04 00:23:22 +01:00
70f9e2f7c0 added build status
Some checks reported errors
continuous-integration/drone/tag Build was killed
2019-03-04 00:00:59 +01:00
16 changed files with 478 additions and 178 deletions

View File

@ -1,168 +1,360 @@
pipeline:
build-ubuntu-16:
group: build
image: plugins/docker
---
kind: pipeline
name: ansible-containers
platform:
os: linux
arch: amd64
concurrency:
limit: 9
steps:
- name: build-ubuntu-20
image: plugins/docker
settings:
dockerfile: ubuntu-20.04/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: ubuntu-16.04
tag: ubuntu-20.04
when:
event:
- push
- pull_request
- name: build-ubuntu-18
image: plugins/docker
settings:
dockerfile: ubuntu-18.04/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: ubuntu-18.04
when:
event:
- push
- pull_request
- name: build-ubuntu-16
image: plugins/docker
settings:
dockerfile: ubuntu-16.04/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-ubuntu-14:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: ubuntu-14.04
dockerfile: ubuntu-14.04/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-fedora-24:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: fedora-24
dockerfile: fedora-24/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-alpine-3:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: alpine-3
dockerfile: alpine-3/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-debian-8:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: debian-8
dockerfile: debian-8/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-debian-7:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: debian-7
dockerfile: debian-8/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-centos-7:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: centos-7
dockerfile: centos-7/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-arch:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: arch
dockerfile: arch/Dockerfile
dry_run: true
when:
event: [ push, pull_request ]
build-ubuntu-16-publish:
group: build
image: plugins/docker
repo: lerentis/ansible
tag: ubuntu-16.04
dockerfile: ubuntu-16.04/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
build-ubuntu-14-publish:
group: build
image: plugins/docker
- name: build-ubuntu-14
image: plugins/docker
settings:
dockerfile: ubuntu-14.04/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: ubuntu-14.04
dockerfile: ubuntu-14.04/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
build-fedora-24-publish:
group: build
image: plugins/docker
- name: build-fedora-24
image: plugins/docker
settings:
dockerfile: fedora-24/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: fedora-24
dockerfile: fedora-24/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
build-alpine-3-publish:
group: build
image: plugins/docker
- name: build-alpine-3
image: plugins/docker
settings:
dockerfile: alpine-3/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: alpine-3
dockerfile: alpine-3/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
build-debian-8-publish:
group: build
image: plugins/docker
- name: build-debian-8
image: plugins/docker
settings:
dockerfile: debian-8/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: debian-8
dockerfile: debian-8/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
build-debian-7-publish:
group: build
image: plugins/docker
- name: build-debian-9
image: plugins/docker
settings:
dockerfile: debian-9/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: debian-7
dockerfile: debian-8/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
tag: debian-9
when:
event:
- push
- pull_request
build-centos-7-publish:
group: build
image: plugins/docker
- name: build-debian-10
image: plugins/docker
settings:
dockerfile: debian-10/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: debian-10
when:
event:
- push
- pull_request
- name: build-centos-8
image: plugins/docker
settings:
dockerfile: centos-8/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: centos-8
when:
event:
- push
- pull_request
- name: build-centos-7
image: plugins/docker
settings:
dockerfile: centos-7/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: centos-7
dockerfile: centos-7/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
build-arch-publish:
group: build
image: plugins/docker
- name: build-arch
image: plugins/docker
settings:
dockerfile: arch/Dockerfile
dry_run: true
repo: lerentis/ansible
tag: arch
dockerfile: arch/Dockerfile
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
when:
event:
- push
- pull_request
telegram:
image: appleboy/drone-telegram
token: 335668211:AAF-YgId7iI6ANBuZVy4uVOYYqA4R4uAaqY
to: 14852963
message: Commit {{ commit.link }} ran with build {{ build.number }} and finished with status {{ build.status }}.
when:
status: [ failure, success ]
- name: build-ubuntu-18-publish
image: plugins/docker
settings:
dockerfile: ubuntu-18.04/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: ubuntu-18.04
username:
from_secret: docker_username
when:
event:
- tag
- name: build-ubuntu-20-publish
image: plugins/docker
settings:
dockerfile: ubuntu-20.04/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: ubuntu-20.04
username:
from_secret: docker_username
when:
event:
- tag
- name: build-ubuntu-16-publish
image: plugins/docker
settings:
dockerfile: ubuntu-16.04/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: ubuntu-16.04
username:
from_secret: docker_username
when:
event:
- tag
- name: build-ubuntu-14-publish
image: plugins/docker
settings:
dockerfile: ubuntu-14.04/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: ubuntu-14.04
username:
from_secret: docker_username
when:
event:
- tag
- name: build-fedora-24-publish
image: plugins/docker
settings:
dockerfile: fedora-24/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: fedora-24
username:
from_secret: docker_username
when:
event:
- tag
- name: build-alpine-3-publish
image: plugins/docker
settings:
dockerfile: alpine-3/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: alpine-3
username:
from_secret: docker_username
when:
event:
- tag
- name: build-debian-8-publish
image: plugins/docker
settings:
dockerfile: debian-8/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: debian-8
username:
from_secret: docker_username
when:
event:
- tag
- name: build-debian-9-publish
image: plugins/docker
settings:
dockerfile: debian-9/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: debian-9
username:
from_secret: docker_username
when:
event:
- tag
- name: build-debian-10-publish
image: plugins/docker
settings:
dockerfile: debian-10/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: debian-10
username:
from_secret: docker_username
when:
event:
- tag
- name: build-centos-7-publish
image: plugins/docker
settings:
dockerfile: centos-7/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: centos-7
username:
from_secret: docker_username
when:
event:
- tag
- name: build-centos-8-publish
image: plugins/docker
settings:
dockerfile: centos-8/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: centos-8
username:
from_secret: docker_username
when:
event:
- tag
- name: build-arch-publish
image: plugins/docker
settings:
dockerfile: arch/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tag: arch
username:
from_secret: docker_username
when:
event:
- tag
- name: notify
image: appleboy/drone-telegram
settings:
message: "Commit {{ commit.link }} ran with build {{ build.number }} and finished with status {{ build.status }}."
to: 14852963
token: 335668211:AAF-YgId7iI6ANBuZVy4uVOYYqA4R4uAaqY
when:
status:
- failure
- success
depends_on:
- build-ubuntu-20
- build-ubuntu-18
- build-ubuntu-16
- build-ubuntu-14
- build-fedora-24
- build-alpine-3
- build-debian-8
- build-debian-9
- build-debian-10
- build-centos-7
- build-centos-8
- build-arch
- build-ubuntu-20-publish
- build-ubuntu-18-publish
- build-ubuntu-16-publish
- build-ubuntu-14-publish
- build-fedora-24-publish
- build-alpine-3-publish
- build-debian-8-publish
- build-debian-9-publish
- build-debian-10-publish
- build-centos-7-publish
- build-centos-8-publish
- build-arch-publish

View File

@ -1,5 +1,7 @@
# ansible
[![Build Status](https://drone.burntbunch.org/api/badges/lerentis/ansible-container/status.svg)](https://drone.burntbunch.org/lerentis/ansible-container)
Docker images for running and testing ansible playbooks with various operating systems.
This Project is based on this [project](https://github.com/pauvos/ansible), which seems abandoned
I don't like obfuscated Dockerfiles with external scripts and hundreds of bells and whistles, so I created these simple ones.
@ -11,6 +13,8 @@ Available operating systems:
* debian-8
* fedora-24
* ubuntu-16.04
* ubuntu-18.04
* ubuntu-19.04
* arch
## run playbooks
@ -65,4 +69,6 @@ Note: /root/.ansible must not be an overlayfs, otherwise ssh accelerate won't wo
## references
* [project](https://git.burntbunch.org/lerentis/ansible-container)
* [project](https://git.burntbunch.org/lerentis/ansible-container)
Current Version: 0.7.2

View File

@ -1,5 +1,7 @@
FROM alpine:3.4
FROM alpine:3.10
RUN apk add --no-cache ansible
RUN apk add --no-cache ansible curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss
CMD ["ansible-playbook", "--help"]

View File

@ -1,11 +1,7 @@
FROM archlinux/base
RUN echo "[archlinuxfr]" >> /etc/pacman.conf && \
echo "SigLevel = Never" >> /etc/pacman.conf && \
echo "Server = http://repo.archlinux.fr/x86_64" >> /etc/pacman.conf
RUN pacman -Syuu --noconfirm && pacman -S yaourt ansible sshpass python2-passlib python2-netaddr python2-pywinrm python2-dnspython python2-ovirt-engine-sdk python2-jmespath python2-requests-ntlm python2-requests-kerberos python2-requests-credssp git --noconfirm
RUN rm /usr/bin/python && ln -s /usr/bin/python2.7 /usr/bin/python
RUN pacman -Syuu --noconfirm && pacman -S python ansible sshpass git python-passlib python-netaddr curl --noconfirm \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss
CMD ["ansible-playbook", "--help"]

17
build-all.sh Normal file → Executable file
View File

@ -1,9 +1,10 @@
#!/bin/bash
cd ubuntu-16.04 && docker build -t lerentis/ansible:ubuntu-16.04 .
cd ../alpine-3 && docker build -t lerentis/ansible:alpine-3 .
cd ../ubuntu-14.04 && docker build -t lerentis/ansible:ubuntu-14.04 .
cd ../fedora-24 && docker build -t lerentis/ansible:fedora-24 .
cd ../debian-8 && docker build -t lerentis/ansible:debian-8 .
cd ../debian-7 && docker build -t lerentis/ansible:debian-7 .
cd ../centos-7 && docker build -t lerentis/ansible:centos-7 .
cd ../arch && docker build -t lerentis/ansible:arch .
cd ubuntu-18.04 && docker buildx build -t lerentis/ansible:ubuntu-18.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-16.04 && docker buildx build -t lerentis/ansible:ubuntu-16.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3 && docker buildx build -t lerentis/ansible:alpine-3 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-14.04 && docker buildx build -t lerentis/ansible:ubuntu-14.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../fedora-24 && docker buildx build -t lerentis/ansible:fedora-24 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../debian-8 && docker buildx build -t lerentis/ansible:debian-8 --platform=linux/arm,linux/amd64 . --push
cd ../debian-7 && docker buildx build -t lerentis/ansible:debian-7 --platform=linux/arm,linux/amd64 . --push
cd ../centos-7 && docker buildx build -t lerentis/ansible:centos-7 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../arch && docker buildx build -t lerentis/ansible:arch --platform=linux/arm,linux/arm64,linux/amd64 . --push

View File

@ -1,7 +1,9 @@
FROM centos:7
RUN yum -y install epel-release \
&& yum -y install ansible \
&& yum -y install ansible git curl python-firewall \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& yum clean headers \
&& yum clean packages

11
centos-8/Dockerfile Normal file
View File

@ -0,0 +1,11 @@
FROM centos:8
RUN dnf -y install python3-pip &&\
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm &&\
dnf install -y --enablerepo epel-playground ansible curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& touch ~/.netrc && chmod og-rw ~/.netrc \
&& pip3 install firewall
CMD ["ansible-playbook", "--help"]

21
debian-10/Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM debian:10
RUN apt-get -q update \
&& apt-get -yq install --no-install-recommends \
build-essential \
libffi-dev \
libssl-dev \
python3 \
python3-dev \
python3-pip \
git \
apt-utils \
curl \
ansible \
python \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean
CMD ["ansible-playbook", "--help"]

View File

@ -1,10 +0,0 @@
FROM debian:7
RUN apt-get -q update \
&& apt-get install -y python-pip python-dev git apt-utils
RUN pip install --index-url=https://pypi.python.org/simple/ --upgrade pip
RUN pip install git+https://github.com/ansible/ansible.git@devel
CMD ["ansible-playbook", "--help"]

View File

@ -5,14 +5,22 @@ RUN apt-get -q update \
build-essential \
libffi-dev \
libssl-dev \
python \
python-dev \
python-pip \
python3 \
python3-dev \
python3-pip \
git \
apt-utils \
&& apt-get clean \
&& pip install --upgrade pip
RUN pip install git+https://github.com/ansible/ansible.git@devel
curl \
gnupg \
dirmngr \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& pip3 install --upgrade pip
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
&& apt-get -q update \
&& apt-get install -yq ansible \
&& apt-get clean
CMD ["ansible-playbook", "--help"]

26
debian-9/Dockerfile Normal file
View File

@ -0,0 +1,26 @@
FROM debian:9
RUN apt-get -q update \
&& apt-get -yq install --no-install-recommends \
build-essential \
libffi-dev \
libssl-dev \
python3 \
python3-dev \
python3-pip \
git \
apt-utils \
curl \
gnupg \
dirmngr \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& pip3 install --upgrade pip
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
&& apt-get -q update \
&& apt-get install -yq ansible \
&& apt-get clean
CMD ["ansible-playbook", "--help"]

View File

@ -3,6 +3,9 @@ FROM fedora:24
RUN dnf -y install \
ansible \
openssh-clients \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& dnf clean all
CMD ["ansible-playbook", "--help"]

View File

@ -8,6 +8,10 @@ RUN apt-get update \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
ansible \
git \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean
CMD ["ansible-playbook", "--help"]

View File

@ -11,6 +11,9 @@ RUN apt-get update \
python-apt \
git-core \
openssh-client \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean
CMD ["ansible-playbook", "--help"]

19
ubuntu-18.04/Dockerfile Normal file
View File

@ -0,0 +1,19 @@
FROM ubuntu:18.04
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
software-properties-common \
apt-utils \
&& apt-add-repository ppa:ansible/ansible \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
ansible \
python-apt \
git-core \
openssh-client \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean
CMD ["ansible-playbook", "--help"]

16
ubuntu-20.04/Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM ubuntu:20.04
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
software-properties-common \
apt-utils \
ansible \
python-apt \
git-core \
openssh-client \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean
CMD ["ansible-playbook", "--help"]