Add a build phase to roll a "pristine" Devuan base image

This runs `debootstrap` in the devuan/migrated image.
This commit is contained in:
Olaf Meeuwissen 2017-08-09 21:22:27 +09:00
parent 052b61e1ed
commit e5dad3d29c
2 changed files with 21 additions and 1 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/rootfs

View File

@ -5,16 +5,21 @@
variables:
DEBIAN_VERSION: jessie-20170723
DEVUAN_VERSION: jessie
image: docker:latest
services:
- docker:dind
stages:
- migrate
- build
before_script:
- docker login -u gitlab-ci-token -p "$CI_JOB_TOKEN" registry.gitlab.com
migrate:
stage: build
stage: migrate
script:
- docker pull "$CI_REGISTRY_IMAGE"/migrated:"$DEBIAN_VERSION" || true
- docker build --build-arg DEBIAN_VERSION="$DEBIAN_VERSION"
@ -24,3 +29,17 @@ migrate:
- 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"