diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c10ee44998aed205e02aae20991bd095c30fde40
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,30 @@
+---
+
+variables:
+  GOCACHE: $CI_PROJECT_DIR/.gocache
+  GOPATH: $CI_PROJECT_DIR/.go
+
+cache:
+  paths:
+    - .gocache
+    - .go
+
+lint:
+  image: golangci/golangci-lint:v1.46-alpine
+  stage: test
+  script:
+    - >-
+      golangci-lint
+      run
+      -v
+      --max-issues-per-linter=0
+      --max-same-issues=0
+      --out-format=junit-xml
+      --timeout=10m
+      > golangci-output.xml
+  artifacts:
+    paths:
+      - golangci-output.xml
+    reports:
+      junit: golangci-output.xml
+    expire_in: 7 days