From 70e480390bbe07108f19a16f0ae282f403ca9cc0 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 8 Jan 2018 21:54:08 +0100 Subject: [PATCH] first stab at docker image build process --- .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++++++++++ Dockerfile | 26 ++++++++++++++++++++++++++ test | 3 +++ 3 files changed, 65 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile create mode 100755 test diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..9ed1a0e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,36 @@ +image: docker:git +services: +- docker:dind + +stages: +- build +- test +- release + +variables: + TEST_IMAGE: registry.gitlab.com/$CI_PROJECT_NAMESPACE/${CI_PROJECT_NAME}:$CI_BUILD_REF_NAME + RELEASE_IMAGE: registry.gitlab.com/$CI_PROJECT_NAMESPACE/${CI_PROJECT_NAME}:latest + +before_script: + - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com + +build: + stage: build + script: + - docker build -t $TEST_IMAGE . + - docker push $TEST_IMAGE + +test: + stage: test + script: + - docker run $TEST_IMAGE /test + +release: + stage: release + script: + - docker pull $TEST_IMAGE + - docker tag $TEST_IMAGE $RELEASE_IMAGE + - docker push $RELEASE_IMAGE + only: + - master + - tags diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1563378 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +from debian:sid-slim +MAINTAINER hans@eds.org + +ENV LANG=C.UTF-8 \ + DEBIAN_FRONTEND=noninteractive + +# install the minimum needed for a standard git-buildpackage build +# that includes pristine-tar. This also does not install +# documentation to keep the image small. +RUN printf "path-exclude=/usr/share/locale/*\npath-exclude=/usr/share/man/*\npath-exclude=/usr/share/doc/*\npath-include=/usr/share/doc/*/copyright\n" >/etc/dpkg/dpkg.cfg.d/01_nodoc \ + && apt-get update \ + && apt-get -y upgrade \ + && apt-get -y dist-upgrade \ + && apt-get install -y --no-install-recommends \ + build-essential \ + dpkg-dev \ + fakeroot \ + git \ + git-buildpackage \ + pristine-tar \ + && apt-get -y autoremove --purge \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +COPY test / + diff --git a/test b/test new file mode 100755 index 0000000..5f486d8 --- /dev/null +++ b/test @@ -0,0 +1,3 @@ +#!/bin/bash + +gbp --version