From 60c196e21980b82a65964eb6ffdd06fc8c66406f Mon Sep 17 00:00:00 2001 From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de> Date: Wed, 1 May 2019 16:52:59 +0200 Subject: [PATCH] Add more images and adjust CI config --- .gitlab-ci.yml | 69 +++++++++++++++++++++++++++++++++++---- fsmpi-ansible/Dockerfile | 3 ++ fsmpi-base/Dockerfile | 3 +- fsmpi-packages/Dockerfile | 3 ++ fsmpi-python/Dockerfile | 3 ++ 5 files changed, 73 insertions(+), 8 deletions(-) create mode 100644 fsmpi-ansible/Dockerfile create mode 100644 fsmpi-packages/Dockerfile create mode 100644 fsmpi-python/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 74f009c..9f20e5a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,17 +19,72 @@ variables: services: - docker:dind +stages: + - base + - first + - second + before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker info -build: - stage: build +.build: tags: - dind script: - - docker pull $CI_REGISTRY_IMAGE/fsmpi-base:latest || true - - docker build --cache-from $CI_REGISTRY_IMAGE/fsmpi-base:latest --tag $CI_REGISTRY_IMAGE/fsmpi-base:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/fsmpi-base:stretch --tag $CI_REGISTRY_IMAGE/fsmpi-base:latest fsmpi-base - - docker push $CI_REGISTRY_IMAGE/fsmpi-base:$CI_COMMIT_SHA - - docker push $CI_REGISTRY_IMAGE/fsmpi-base:stretch - - docker push $CI_REGISTRY_IMAGE/fsmpi-base:latest + - docker pull $CI_REGISTRY_IMAGE/$IMAGE_NAME:$DEBIAN_RELEASE || true + - docker build --cache-from $CI_REGISTRY_IMAGE/$IMAGE_NAME:$DEBIAN_RELEASE --build-arg DEBIAN_RELEASE=$DEBIAN_RELEASE --tag $CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/$IMAGE_NAME:$DEBIAN_RELEASE $IMAGE_NAME + - docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:$DEBIAN_RELEASE-$CI_COMMIT_SHA + - docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:$DEBIAN_RELEASE + +.build-stretch: + extends: .build + variables: + DEBIAN_RELEASE: stretch + +.build-buster: + extends: .build + variables: + DEBIAN_RELEASE: buster + +base-stretch: + extends: .build-stretch + stage: base + variables: + IMAGE_NAME: fsmpi-base + +base-buster: + extends: .build-buster + stage: base + variables: + IMAGE_NAME: fsmpi-base + +packages-stretch: + extends: .build-stretch + stage: first + variables: + IMAGE_NAME: fsmpi-packages + +packages-buster: + extends: .build-buster + stage: first + variables: + IMAGE_NAME: fsmpi-packages + +python-stretch: + extends: .build-stretch + stage: first + variables: + IMAGE_NAME: fsmpi-python + +python-buster: + extends: .build-buster + stage: first + variables: + IMAGE_NAME: fsmpi-python + +ansible-buster: + extends: .build-buster + stage: second + variables: + IMAGE_NAME: fsmpi-ansible diff --git a/fsmpi-ansible/Dockerfile b/fsmpi-ansible/Dockerfile new file mode 100644 index 0000000..053d362 --- /dev/null +++ b/fsmpi-ansible/Dockerfile @@ -0,0 +1,3 @@ +ARG DEBIAN_RELEASE=buster +FROM fsmpi-python:buster +RUN apt-get update && apt-get install -y python3-cffi python3-ply ansible yamllint && rm -rf /var/lib/apt/lists/* diff --git a/fsmpi-base/Dockerfile b/fsmpi-base/Dockerfile index 54221da..6a14a75 100644 --- a/fsmpi-base/Dockerfile +++ b/fsmpi-base/Dockerfile @@ -1,4 +1,5 @@ -FROM debian:stretch +ARG DEBIAN_RELEASE=stretch +FROM debian:${DEBIAN_RELEASE} ENV LANG C.UTF-8 RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ && for lang in en_US de_DE; do localedef -i $lang -c -f UTF-8 -A /usr/share/locale/locale.alias $lang.UTF-8; done diff --git a/fsmpi-packages/Dockerfile b/fsmpi-packages/Dockerfile new file mode 100644 index 0000000..d304069 --- /dev/null +++ b/fsmpi-packages/Dockerfile @@ -0,0 +1,3 @@ +ARG DEBIAN_RELEASE=stretch +FROM fsmpi-base:${DEBIAN_RELEASE} +RUN apt-get update && apt-get install -y build-essential dpkg-dev quilt devscripts git curl && rm -rf /var/lib/apt/lists/* diff --git a/fsmpi-python/Dockerfile b/fsmpi-python/Dockerfile new file mode 100644 index 0000000..f293f64 --- /dev/null +++ b/fsmpi-python/Dockerfile @@ -0,0 +1,3 @@ +ARG DEBIAN_RELEASE=stretch +FROM fsmpi-base:${DEBIAN_RELEASE} +RUN apt-get update && apt-get install -y python3 python3-pip python3-venv flake8 curl && rm -rf /var/lib/apt/lists/* -- GitLab