mirror of
https://github.com/ViViDboarder/docker-duplicity-cron.git
synced 2024-11-22 11:46:29 +00:00
Yay! Switch to eoan and simplify install
This also enables functioning multi-arch and s3 tests
This commit is contained in:
parent
47a431abf6
commit
77d320eeee
34
Dockerfile
34
Dockerfile
@ -1,34 +1,28 @@
|
|||||||
ARG REPO=library
|
ARG REPO=library
|
||||||
FROM ${REPO}/ubuntu:xenial
|
FROM multiarch/qemu-user-static:4.1.0-1 AS qemu
|
||||||
|
FROM ${REPO}/ubuntu:eoan
|
||||||
LABEL maintainer="ViViDboarder <vividboarder@gmail.com>"
|
LABEL maintainer="ViViDboarder <vividboarder@gmail.com>"
|
||||||
|
|
||||||
# Allow building/running non-amd64 images from amd64
|
# Allow building/running non-amd64 images from amd64
|
||||||
COPY --from=multiarch/qemu-user-static:4.1.0-1 /usr/bin/qemu-* /usr/bin/
|
COPY --from=qemu /usr/bin/qemu-* /usr/bin/
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
|
||||||
software-properties-common python-software-properties \
|
|
||||||
&& add-apt-repository ppa:duplicity-team/ppa \
|
|
||||||
&& apt-get update \
|
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
cron \
|
cron \
|
||||||
duplicity \
|
duplicity \
|
||||||
|
# duplicity recommended
|
||||||
|
python3-oauthlib \
|
||||||
|
python3-paramiko \
|
||||||
|
python3-pexpect \
|
||||||
|
python3-urllib3 \
|
||||||
|
rsync \
|
||||||
|
# duplicity suggests
|
||||||
lftp \
|
lftp \
|
||||||
ncftp \
|
ncftp \
|
||||||
openssh-client \
|
par2 \
|
||||||
python-cloudfiles \
|
python3-boto \
|
||||||
python-gdata \
|
python3-swiftclient \
|
||||||
python-oauthlib \
|
# tahoe-lafs \ # This depends on Python 2 and is left out for now
|
||||||
python-paramiko \
|
|
||||||
python-pexpect \
|
|
||||||
python-pip \
|
|
||||||
python-setuptools \
|
|
||||||
python-swiftclient \
|
|
||||||
python-urllib3 \
|
|
||||||
rsync \
|
|
||||||
tahoe-lafs \
|
|
||||||
&& pip install -U --no-cache-dir boto==2.49.0 b2==1.4.2 \
|
|
||||||
&& apt-get autoremove -y python-pip python-setuptools \
|
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/apt/lists/*
|
&& rm -rf /var/apt/lists/*
|
||||||
|
|
||||||
|
8
Makefile
8
Makefile
@ -35,22 +35,22 @@ test-all: test-amd64 test-arm
|
|||||||
|
|
||||||
.PHONY: test-s3-amd64
|
.PHONY: test-s3-amd64
|
||||||
test-s3-amd64: build-amd64
|
test-s3-amd64: build-amd64
|
||||||
cd tests && ./test-s3.sh $(DOCKER_TAG):amd64
|
cd tests && ./test-compose.sh s3 $(DOCKER_TAG):amd64
|
||||||
|
|
||||||
.PHONY: test-s3-arm
|
.PHONY: test-s3-arm
|
||||||
test-s3-arm: build-arm
|
test-s3-arm: build-arm
|
||||||
cd tests && ./test-s3.sh $(DOCKER_TAG):arm
|
cd tests && ./test-compose.sh s3 $(DOCKER_TAG):arm
|
||||||
|
|
||||||
.PHONY: test-s3-all
|
.PHONY: test-s3-all
|
||||||
test-s3-all: test-s3-amd64 test-s3-arm
|
test-s3-all: test-s3-amd64 test-s3-arm
|
||||||
|
|
||||||
.PHONY: shell-amd64
|
.PHONY: shell-amd64
|
||||||
shell-amd64: build-amd64
|
shell-amd64: build-amd64
|
||||||
docker run --rm -it $(DOCKER_TAG):ubuntu bash
|
docker run --rm -it $(DOCKER_TAG):amd64 bash
|
||||||
|
|
||||||
.PHONY: shell-arm
|
.PHONY: shell-arm
|
||||||
shell-arm: build-arm
|
shell-arm: build-arm
|
||||||
docker run --rm -it $(DOCKER_TAG):raspbian bash
|
docker run --rm -it $(DOCKER_TAG):arm bash
|
||||||
|
|
||||||
.PHONY: shell
|
.PHONY: shell
|
||||||
shell: shell-amd64
|
shell: shell-amd64
|
||||||
|
@ -3,11 +3,6 @@ version: '2'
|
|||||||
services:
|
services:
|
||||||
duplicity:
|
duplicity:
|
||||||
image: "$DOCKER_IMAGE"
|
image: "$DOCKER_IMAGE"
|
||||||
# build:
|
|
||||||
# context: ..
|
|
||||||
# dockerfile: Dockerfile
|
|
||||||
# args:
|
|
||||||
# REPO: "${BUILD_ARG_REPO}"
|
|
||||||
entrypoint: "bash"
|
entrypoint: "bash"
|
||||||
command: ["/test.sh"]
|
command: ["/test.sh"]
|
||||||
hostname: itest
|
hostname: itest
|
||||||
@ -19,10 +14,9 @@ services:
|
|||||||
AWS_DEFAULT_REGION: us-east-1
|
AWS_DEFAULT_REGION: us-east-1
|
||||||
AWS_ACCESS_KEY_ID: SUPER_SECRET_ACCESS_KEY
|
AWS_ACCESS_KEY_ID: SUPER_SECRET_ACCESS_KEY
|
||||||
AWS_SECRET_ACCESS_KEY: SUPER_SECRET_SECRET_KEY
|
AWS_SECRET_ACCESS_KEY: SUPER_SECRET_SECRET_KEY
|
||||||
|
SLEEP: 2
|
||||||
volumes:
|
volumes:
|
||||||
- "./test.sh:/test.sh"
|
- "./test.sh:/test.sh"
|
||||||
links:
|
|
||||||
- minio
|
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio
|
image: minio/minio
|
||||||
command: server /data
|
command: server /data
|
||||||
|
6
tests/test-compose.sh
Executable file
6
tests/test-compose.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
export COMPOSE_FILE="docker-compose-test-$1.yml"
|
||||||
|
export DOCKER_IMAGE="$2"
|
||||||
|
docker-compose -f "$COMPOSE_FILE" up \
|
||||||
|
--build --abort-on-container-exit --force-recreate
|
@ -1,5 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
export DOCKER_IMAGE="$1"
|
|
||||||
docker-compose -f docker-compose-test-s3.yml up \
|
|
||||||
--build --abort-on-container-exit --force-recreate
|
|
@ -12,6 +12,9 @@ if [ "$IN_CONTAINER" != "true" ] ; then
|
|||||||
"$image" \
|
"$image" \
|
||||||
bash -c "/test.sh"
|
bash -c "/test.sh"
|
||||||
else
|
else
|
||||||
|
# Optionally sleep at beginning for compose tests that may need it
|
||||||
|
sleep "${SLEEP:-0}"
|
||||||
|
|
||||||
echo "Performing backup tests"
|
echo "Performing backup tests"
|
||||||
|
|
||||||
echo "Verify cron and crontab exist"
|
echo "Verify cron and crontab exist"
|
||||||
|
Loading…
Reference in New Issue
Block a user