diff --git a/.gitignore b/.gitignore
index 5e58337f364ce02f547ae11e3225c3487c554aab..e3ef053a1180c0a364ad9915f7ff696381f338cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@ ebin
 log
 erl_crash.dump
 .rebar
+.rebar3
 logs
 _build
 rebar3
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eebb8a313b1d4bc133d3818beefadae2ef777d04..6e47a5400eff9633223a1962f0ef40f78a1493b4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,6 @@ cache:
 
 before_script:
   - export PATH=${ERL_HOME}/bin:$PATH
-  - rebar3 update
 
 stages:
   - test
@@ -13,10 +12,11 @@ stages:
 test:
   stage: test
   script:
+    - rebar3 update
     - rebar3 as test do eunit --cover --dir=test, cover --verbose
     - coverage.escript _build/test/cover/eunit.coverdata
 
-aws_publish:
+aws_s3:
   stage: publish
   script:
     - rebar3 as production do escriptize
diff --git a/rebar.config b/rebar.config
index e815776c76da17507553ff90ee5ec94ace4da1cb..ea06a75c31378bbf59797fb62ed01338a363cb6c 100644
--- a/rebar.config
+++ b/rebar.config
@@ -1,3 +1,5 @@
+{global_rebar_dir, ".rebar3"}.
+
 {erl_opts, [debug_info]}.
 
 {escript_main_app, hijack}.