From dc6a5736b36fa8bc97b76839b4ed74c66a901afd Mon Sep 17 00:00:00 2001
From: Anton Sarukhanov <code@ant.sr>
Date: Sun, 19 Apr 2020 22:23:23 -0400
Subject: [PATCH] dockerize

---
 .gitlab-ci.yml   | 37 +++++++++++++++++++++++++++++--------
 Dockerfile       |  9 +++++++++
 requirements.txt |  1 +
 3 files changed, 39 insertions(+), 8 deletions(-)
 create mode 100644 Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dcc7891..64f48a1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,16 +1,37 @@
 image: python:3-buster
 
-before_script:
-  - pip install -r requirements-dev.txt
+stages:
+  - test
+  - build
+
 
 analyze:
+    stage: test
+    before_script:
+      - pip install -r requirements-dev.txt
     script:
-    - bandit whatformat/*.py whatformat/util/*.py
-    - flake8 --config=.flake8 whatformat/*.py whatformat/util/*.py
-    - mypy whatformat/*.py whatformat/util/*.py
-    - pydocstyle whatformat/*.py whatformat/util/*.py
-    - pylint whatformat/*.py whatformat/util/*.py
+      - bandit whatformat/*.py whatformat/util/*.py
+      - flake8 --config=.flake8 whatformat/*.py whatformat/util/*.py
+      - mypy whatformat/*.py whatformat/util/*.py
+      - pydocstyle whatformat/*.py whatformat/util/*.py
+      - pylint whatformat/*.py whatformat/util/*.py
 
 test:
+    stage: test
+    before_script:
+      - pip install -r requirements-dev.txt
     script:
-    - python3 -m unittest
+      - python3 -m unittest
+
+build_image:
+  stage: build
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  variables:
+    IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
+  script:
+    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
+    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
+  only:
+    - tags
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..f3356b1
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,9 @@
+FROM python:3-buster
+WORKDIR /opt/whatformat
+
+COPY / /opt/whatformat
+RUN pip install -r /opt/whatformat/requirements.txt
+
+CMD gunicorn -w 4 -b 0.0.0.0:80 whatformat.app:app
+
+EXPOSE 80/tcp
diff --git a/requirements.txt b/requirements.txt
index 4352144..2b1f4ac 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,4 @@
 python-dateutil==2.8.1
 Flask==1.1.1
 Flask-Caching==1.8.0
+gunicorn==20.0.4
-- 
GitLab