diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 221c7e75aae09fb8d507bbc2cfcbed57145a39dd..23f8d12d9faec71e548838c3d2e14124b8a2d8f4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,8 @@
 image: gcr.io/hedenstroem-docker/gitlab-builder-base
 
+before_script:
+  - export GOPATH=${CI_PROJECT_DIR}/.cache
+
 stages:
   - build
   - upload
@@ -10,6 +13,10 @@ stages:
   only:
     - master
     - /^\d+[.]\d+[.]\d+$/
+  cache:
+    key: build
+    paths:
+      - .cache
   script:
     - GOOS=${CI_JOB_NAME%%-*} GOARCH=${CI_JOB_NAME#*-} CGO_ENABLED=0 go build -tags netgo --ldflags '-extldflags "-static"' -o $CI_PROJECT_NAME-$CI_JOB_NAME
   artifacts: