Refactored CI setup and image naming

This commit is contained in:
Olaf Meeuwissen 2017-08-19 14:25:52 +09:00
parent a644fe7a94
commit c3b30f9c13
6 changed files with 53 additions and 31 deletions

View File

@ -5,11 +5,12 @@
variables:
DEBIAN_VERSION: jessie-20170723
DEVUAN_VERSION: jessie
TZ: UTC
LC_ALL: C
image: docker:latest
services:
- docker:dind
- docker:dind
stages:
- migrate
@ -17,7 +18,7 @@ stages:
- derive
before_script:
- docker login -u gitlab-ci-token -p "$CI_JOB_TOKEN" registry.gitlab.com
- docker login -u gitlab-ci-token -p "$CI_JOB_TOKEN" "$CI_REGISTRY"
migrate:
stage: migrate

View File

@ -4,15 +4,24 @@
#
# License: GPL-3.0+
docker pull "$CI_REGISTRY_IMAGE"/migrated
MIGRATED_IMAGE=$CI_REGISTRY_IMAGE/debian-$DEBIAN_VERSION/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 --exclude './dev/**' . | docker import - "$CI_REGISTRY_IMAGE":"$version")
docker push "$CI_REGISTRY_IMAGE":"$version"
docker tag "$CI_REGISTRY_IMAGE":"$version" "$CI_REGISTRY_IMAGE":"$DEVUAN_VERSION"
docker push "$CI_REGISTRY_IMAGE":"$DEVUAN_VERSION"
docker tag "$CI_REGISTRY_IMAGE":"$DEVUAN_VERSION" "$CI_REGISTRY_IMAGE"
docker push "$CI_REGISTRY_IMAGE"
docker pull $MIGRATED_IMAGE
docker run --rm \
--cap-add SYS_ADMIN \
--volume $PWD:/devuan \
--workdir /devuan \
$MIGRATED_IMAGE ./bootstrap.sh
IMAGE=$CI_REGISTRY_IMAGE
STAMP=$(date +%F)
tar -cC rootfs --exclude './dev/**' . | docker import - $IMAGE:$STAMP
docker push $IMAGE:$STAMP
docker tag $IMAGE:$STAMP $IMAGE:jessie
docker push $IMAGE:jessie
docker tag $IMAGE:jessie $IMAGE
docker push $IMAGE

View File

@ -1,4 +1,4 @@
# buildd.df -- a Devuan image for binary package builds
# builder.df -- a Devuan image for binary package builds
# Copyright (C) 2017 Olaf Meeuwissen
#
# License: GPL-3.0+

View File

@ -4,10 +4,18 @@
#
# License: GPL-3.0+
docker build --build-arg DEVUAN_IMAGE="$CI_REGISTRY_IMAGE":"$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
BASE_IMAGE=$CI_REGISTRY_IMAGE:jessie
IMAGE=builder
STAMP=$(date +%F)
docker build \
--build-arg DEVUAN_IMAGE=$BASE_IMAGE \
--tag $IMAGE:$STAMP \
--file $IMAGE.df .
docker push $IMAGE:$STAMP
docker tag $IMAGE:$STAMP $IMAGE:jessie
docker push $IMAGE:jessie
docker tag $IMAGE:jessie $IMAGE
docker push $IMAGE

View File

@ -3,8 +3,8 @@
#
# License: GPL-3.0+
ARG DEBIAN_VERSION
FROM debian:${DEBIAN_VERSION}
ARG VERSION
FROM debian:${VERSION}
LABEL maintainer="Olaf Meeuwissen <paddy-hack@member.fsf.org>"
COPY ./repository@devuan.org.asc /tmp/

View File

@ -4,11 +4,15 @@
#
# License: GPL-3.0+
docker pull "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" || true
docker build --build-arg DEBIAN_VERSION="$DEBIAN_VERSION" \
--tag "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" \
IMAGE=$CI_REGISTRY_IMAGE/debian-$DEBIAN_VERSION/migrated
STAMP=$(date +%F)
docker pull $IMAGE || true
docker build \
--build-arg VERSION=$DEBIAN_VERSION \
--tag $IMAGE:$STAMP \
--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
docker push $IMAGE:$STAMP
docker tag $IMAGE:$STAMP $IMAGE
docker push $IMAGE