diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1059a286dc500394a6a14019304f2e1c22b85aba
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,17 @@
+---
+stages:
+  - docker
+  - build
+
+gfortran:
+  stage: docker
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  rules:
+    - changes:
+        - Dockerfile
+        - build-container.sh
+  tags: [docker]
+  script:
+    - ./build-container.sh
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..abbb7fa26a61edb9ee096dda4a69579e97d447c6
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,3 @@
+FROM alpine
+
+RUN apk add gfortran-10
diff --git a/build-container.sh b/build-container.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0fd2fc4689244f23a352eab29002c117500594f8
--- /dev/null
+++ b/build-container.sh
@@ -0,0 +1,14 @@
+#!/busybox/sh
+
+mkdir -p /kaniko/.docker
+printf '{"auths":{"%s":{"username":"%s","password":"%s"}}}' \
+       "$CI_REGISTRY" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" \
+       > /kaniko/.docker/config.json
+
+container=registry.ie.suberic.net/kevin/bulletin/gfortran:latest
+echo "================= Building $container"
+/kaniko/executor \
+      --cache=true \
+      --context "$PWD" \
+      --dockerfile "$PWD/Dockerfile" \
+      --destination "$container" || exit 1