diff --git a/.gitlab-ci/lint.yml b/.gitlab-ci/lint.yml
index 7555cbde730eb182fc85572972be73f703fc23fc..b6a760410729cfd25cf96257192f96dd18ac0dff 100644
--- a/.gitlab-ci/lint.yml
+++ b/.gitlab-ci/lint.yml
@@ -11,10 +11,10 @@ yamllint:
 vagrant-validate:
   extends: .job
   stage: unit-tests
+  variables:
+    VAGRANT_VERSION: 2.2.4
   script:
-    - curl -sL https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb -o /tmp/vagrant_2.2.4_x86_64.deb
-    - dpkg -i /tmp/vagrant_2.2.4_x86_64.deb
-    - vagrant validate --ignore-provider
+    - ./tests/scripts/vagrant-validate.sh
   except: ['triggers', 'master']
 
 ansible-lint:
diff --git a/tests/scripts/vagrant-validate.sh b/tests/scripts/vagrant-validate.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1dc6d8ebc636c36592152bddf85bd64e5c726052
--- /dev/null
+++ b/tests/scripts/vagrant-validate.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -euxo pipefail
+
+curl -sL "https://releases.hashicorp.com/vagrant/2.2.4/vagrant_${VAGRANT_VERSION}_x86_64.deb" -o "/tmp/vagrant_${VAGRANT_VERSION}_x86_64.deb"
+dpkg -i "/tmp/vagrant_${VAGRANT_VERSION}_x86_64.deb"
+vagrant validate --ignore-provider