docker-devuan_paddy-hack/.gitlab-ci.yml

58 lines
1.7 KiB
YAML

# .gitlab-ci.yml -- to automate Docker Devuan image builds
# Copyright (C) 2017 Olaf Meeuwissen
#
# License: GPL-3.0+
variables:
DEBIAN_VERSION: jessie-20170723
DEVUAN_VERSION: jessie
image: docker:latest
services:
- docker:dind
stages:
- migrate
- build
- derive
before_script:
- docker login -u gitlab-ci-token -p "$CI_JOB_TOKEN" registry.gitlab.com
migrate:
stage: migrate
script:
- docker pull "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" || true
- docker build --build-arg DEBIAN_VERSION="$DEBIAN_VERSION"
--tag "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION"
--file migrate.df .
- docker push "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION"
- docker tag "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION"
"$CI_REGISTRY_IMAGE"/migrated
- docker push "$CI_REGISTRY_IMAGE"/migrated
build:
stage: build
script:
- docker pull "$CI_REGISTRY_IMAGE"/migrated
- rm -rf rootfs || true
- docker run --rm --cap-add SYS_ADMIN
--volume $PWD:/devuan --workdir /devuan
"$CI_REGISTRY_IMAGE"/migrated ./bootstrap.sh
- version="$DEVUAN_VERSION"-$(date +%F)
&& (tar -cC rootfs . | docker import - "$CI_REGISTRY_IMAGE":"$version")
&& docker push "$CI_REGISTRY_IMAGE":"$version"
&& docker tag "$CI_REGISTRY_IMAGE":"$version" "$CI_REGISTRY_IMAGE"
&& docker push "$CI_REGISTRY_IMAGE"
derive:
stage: derive
script:
- docker build --build-arg DEVUAN_VERSION="$DEVUAN_VERSION"
--tag "$CI_REGISTRY_IMAGE"/buildd:"$DEVUAN_VERSION"
--file buildd.df .
- docker push "$CI_REGISTRY_IMAGE"/buildd:"$DEVUAN_VERSION"
- docker tag "$CI_REGISTRY_IMAGE"/buildd:"$DEVUAN_VERSION"
"$CI_REGISTRY_IMAGE"/buildd
- docker push "$CI_REGISTRY_IMAGE"/buildd