58 lines
1.7 KiB
YAML
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
|