From 8864400dcaaf7b5d33dd4c3a0d8f917b414fb668 Mon Sep 17 00:00:00 2001 From: Tobias Bengfort Date: Tue, 28 Sep 2021 18:58:30 +0200 Subject: [PATCH 1/3] add Dockerfile --- Dockerfile | 12 ++++++++++++ uwsgi.ini | 10 ++++++++++ 2 files changed, 22 insertions(+) create mode 100644 Dockerfile create mode 100644 uwsgi.ini diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cec77a5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM buildpack-deps:20.04 + +ENV DEBIAN_FRONTEND noninteractive + +RUN adduser --disabled-login --gecos '' uwsgi +RUN apt-get update -q && apt-get install -y -qq python3-pip python3-wheel uwsgi uwsgi-plugin-python3 + +WORKDIR code/ +COPY rms_bridge.py requirements.txt uwsgi.ini LICENSE ./ +RUN pip3 install -r requirements.txt + +CMD uwsgi uwsgi.ini --die-on-term diff --git a/uwsgi.ini b/uwsgi.ini new file mode 100644 index 0000000..8b3d37c --- /dev/null +++ b/uwsgi.ini @@ -0,0 +1,10 @@ +[uwsgi] +master = true +uid=uwsgi +threads = 4 +protocol=http +socket = :5000 + +plugin=python3 +wsgi-file = rms_bridge.py +callable = app -- GitLab From 26ccb2b0b86d08802a96ccf7fedb528820fa5efc Mon Sep 17 00:00:00 2001 From: Tobias Bengfort Date: Tue, 28 Sep 2021 18:21:45 +0200 Subject: [PATCH 2/3] add gitlab-ci --- .gitlab-ci.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..09dfe60 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,14 @@ +stages: + - test + +variables: + DEBIAN_FRONTEND: noninteractive + +test: + stage: test + image: buildpack-deps + before_script: + - apt-get update -q && apt-get install -y -qq python3-pip + - pip3 install -r requirements.txt flake8 + script: + - flake8 -- GitLab From c3c82a2e1fbc150d23847ecf3ae7bbfeff80aadf Mon Sep 17 00:00:00 2001 From: Tobias Bengfort Date: Tue, 28 Sep 2021 18:26:08 +0200 Subject: [PATCH 3/3] build docker image in CI --- .gitlab-ci.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 09dfe60..19ba48a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,10 @@ stages: - test + - build variables: DEBIAN_FRONTEND: noninteractive + CONTAINER_IMAGE: registry.git.mpib-berlin.mpg.de/castellum/rms_bridge test: stage: test @@ -12,3 +14,26 @@ test: - pip3 install -r requirements.txt flake8 script: - flake8 + +build: + stage: build + image: docker + services: + - docker:dind + before_script: + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.git.mpib-berlin.mpg.de + - docker pull $CONTAINER_IMAGE:latest || true + script: + - docker build --cache-from $CONTAINER_IMAGE:latest -t $CONTAINER_IMAGE:$CI_COMMIT_REF_NAME . + after_script: + - > + if [ "$CI_COMMIT_REF_NAME" == "main" ]; then + docker tag $CONTAINER_IMAGE:$CI_COMMIT_REF_NAME $CONTAINER_IMAGE:latest + docker push $CONTAINER_IMAGE:latest + fi + - > + if [ -n "$CI_COMMIT_TAG" ]; then + docker tag $CONTAINER_IMAGE:$CI_COMMIT_REF_NAME $CONTAINER_IMAGE:stable + docker push $CONTAINER_IMAGE:$CI_COMMIT_REF_NAME + docker push $CONTAINER_IMAGE:stable + fi -- GitLab