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: variables:
DEBIAN_VERSION: jessie-20170723 DEBIAN_VERSION: jessie-20170723
DEVUAN_VERSION: jessie TZ: UTC
LC_ALL: C
image: docker:latest image: docker:latest
services: services:
- docker:dind - docker:dind
stages: stages:
- migrate - migrate
@ -17,7 +18,7 @@ stages:
- derive - derive
before_script: 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: migrate:
stage: migrate stage: migrate

View File

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

View File

@ -4,10 +4,18 @@
# #
# License: GPL-3.0+ # License: GPL-3.0+
docker build --build-arg DEVUAN_IMAGE="$CI_REGISTRY_IMAGE":"$DEVUAN_VERSION" \ BASE_IMAGE=$CI_REGISTRY_IMAGE:jessie
--tag "$CI_REGISTRY_IMAGE"/buildd:"$DEVUAN_VERSION" \
--file buildd.df . IMAGE=builder
docker push "$CI_REGISTRY_IMAGE"/buildd:"$DEVUAN_VERSION" STAMP=$(date +%F)
docker tag "$CI_REGISTRY_IMAGE"/buildd:"$DEVUAN_VERSION" \
"$CI_REGISTRY_IMAGE"/buildd docker build \
docker push "$CI_REGISTRY_IMAGE"/buildd --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+ # License: GPL-3.0+
ARG DEBIAN_VERSION ARG VERSION
FROM debian:${DEBIAN_VERSION} FROM debian:${VERSION}
LABEL maintainer="Olaf Meeuwissen <paddy-hack@member.fsf.org>" LABEL maintainer="Olaf Meeuwissen <paddy-hack@member.fsf.org>"
COPY ./repository@devuan.org.asc /tmp/ COPY ./repository@devuan.org.asc /tmp/

View File

@ -4,11 +4,15 @@
# #
# License: GPL-3.0+ # License: GPL-3.0+
docker pull "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" || true IMAGE=$CI_REGISTRY_IMAGE/debian-$DEBIAN_VERSION/migrated
docker build --build-arg DEBIAN_VERSION="$DEBIAN_VERSION" \ STAMP=$(date +%F)
--tag "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" \
docker pull $IMAGE || true
docker build \
--build-arg VERSION=$DEBIAN_VERSION \
--tag $IMAGE:$STAMP \
--file migrate.df . --file migrate.df .
docker push "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION"
docker tag "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" \ docker push $IMAGE:$STAMP
"$CI_REGISTRY_IMAGE"/migrated docker tag $IMAGE:$STAMP $IMAGE
docker push "$CI_REGISTRY_IMAGE"/migrated docker push $IMAGE