docker-volume-backup/.circleci/config.yml

73 lines
2.1 KiB
YAML
Raw Normal View History

2021-04-02 13:59:47 +02:00
version: 2.1
jobs:
2021-07-01 08:18:04 +02:00
canary:
2021-04-02 13:59:47 +02:00
docker:
- image: cimg/base:2020.06
working_directory: ~/docker-volume-backup
steps:
- checkout
2021-07-01 08:18:04 +02:00
- setup_remote_docker:
version: 20.10.6
2021-04-02 13:59:47 +02:00
- run:
name: Build
2021-07-01 08:18:04 +02:00
command: |
docker build . -t offen/docker-volume-backup:canary
2021-04-02 13:59:47 +02:00
- run:
2021-07-01 08:18:04 +02:00
name: Create container from image
2021-04-02 13:59:47 +02:00
command: |
2021-07-01 08:18:04 +02:00
docker run -d offen/docker-volume-backup:canary
echo "Sleeping for 30s before checking if container is still running."
sleep 30
count=$(docker ps -q | wc -l)
if [[ $count != "1" ]]; then
echo "Expected one container to be running, found $count."
exit 1
2021-04-02 13:59:47 +02:00
fi
2021-07-01 08:18:04 +02:00
docker stop $(docker ps -q)
build:
docker:
- image: cimg/base:2020.06
environment:
DOCKER_BUILDKIT: '1'
DOCKER_CLI_EXPERIMENTAL: enabled
working_directory: ~/docker-volume-backup
steps:
- checkout
- setup_remote_docker:
version: 20.10.6
2021-04-02 13:59:47 +02:00
- docker/install-docker-credential-helper
- docker/configure-docker-credentials-store
- run:
name: Push to Docker Hub
command: |
echo "$DOCKER_ACCESSTOKEN" | docker login --username offen --password-stdin
2021-07-01 08:18:04 +02:00
# This is required for building ARM: https://gitlab.alpinelinux.org/alpine/aports/-/issues/12406
docker run --rm --privileged linuxkit/binfmt:v0.8
docker context create docker-volume-backup
docker buildx create docker-volume-backup --name docker-volume-backup --use
docker buildx inspect --bootstrap
docker buildx build --platform linux/arm64,linux/amd64 \
-t offen/docker-volume-backup:$CIRCLE_TAG \
-t offen/docker-volume-backup:latest \
. --push
2021-04-02 13:59:47 +02:00
workflows:
version: 2
2021-07-01 08:18:04 +02:00
docker_image:
2021-04-02 13:59:47 +02:00
jobs:
2021-07-01 08:18:04 +02:00
- canary:
filters:
tags:
ignore: /^v.*/
2021-04-02 14:23:59 +02:00
- build:
filters:
2021-07-01 08:18:04 +02:00
branches:
ignore: /.*/
2021-04-02 14:23:59 +02:00
tags:
only: /^v.*/
2021-04-02 13:59:47 +02:00
orbs:
docker: circleci/docker@1.0.1