Add Dockerfile and GitLab CI Pipeline

Change-Id: Iafef7b6388667cf2d45c79a4a0e5d0eea224afba
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..b4276d5
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,54 @@
+image: docker:latest
+
+variables:
+  FF_NETWORK_PER_BUILD: true
+
+services:
+  - name: docker:dind
+    command: [--dns=127.0.0.11]
+
+stages:
+  - build
+  - deploy
+
+build-docker:
+  rules:
+    - if: $CI_COMMIT_TAG =~ /.+/
+      variables:
+        VID: $CI_COMMIT_TAG
+    - when: manual
+      variables:
+        VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
+  stage: build
+  before_script:
+    - apk update
+    - apk add --no-cache git
+  script:
+    - docker build -f Dockerfile -t korap/tei2korapxml:$VID-large --target tei2korapxml .
+    - docker run --rm -v /var/run/docker.sock:/var/run/docker.sock mintoolkit/mint --crt-api-version 1.46 build --http-probe=false --exec='PERL5LIB=/tei2korapxml/lib /tei2korapxml/script/tei2korapxml -v || test $? -eq 2 && java -jar /tei2korapxml/share/KorAP-Tokenizer-2.3.0-standalone.jar -V' --include-path=/tei2korapxml/lib --include-path=/usr/local/share/perl5 --include-path=/usr/share/perl5 --include-path=/usr/lib/perl5 --tag korap/tei2korapxml:$VID --tag korap/tei2korapxml:latest korap/tei2korapxml:$VID-large || true
+    - ARTIFACT=tei2korapxml-${VID}.tar.xz
+    - docker save korap/tei2korapxml:$VID | xz -T0 -M16G -9 > "$ARTIFACT"
+  artifacts:
+    paths:
+      - tei2korapxml-*.tar.xz
+
+push-dockerhub:
+  stage: deploy
+  needs:
+    - job: build-docker
+      artifacts: true
+  dependencies:
+    - build-docker
+  rules:
+    - if: $CI_COMMIT_TAG =~ /^v.+/
+      when: manual
+    - when: never
+  script:
+    - apk update
+    - apk add --no-cache xz
+    - echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
+    - ARTIFACT=tei2korapxml-${CI_COMMIT_TAG}.tar.xz
+    - xz -d -c "$ARTIFACT" | docker load
+    - docker tag korap/tei2korapxml:$CI_COMMIT_TAG korap/tei2korapxml:latest
+    - docker push korap/tei2korapxml:$CI_COMMIT_TAG
+    - docker push korap/tei2korapxml:latest