diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 59d9782f373217998fc4003ce2078119843f400f..bb5dbf085cd6ca31d1cc48c62b5f7c8510323638 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -32,15 +32,16 @@ composer:
       - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
       - docker pull $TEST_IMAGE
   rules:
-    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == "web"'
     - if: '$CI_COMMIT_MESSAGE =~ /test/'
     - if: '$CI_COMMIT_BRANCH  =~ /test/ || $CI_COMMIT_BRANCH == "production" || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
   script:
     # We need to copy files to a shared path that is accessible on the main host to allow the volume to work
-    - 'export SHARED_PATH="$(dirname ${CI_PROJECT_DIR})/shared"'
+    - 'export SHARED_PATH="/builds/${CI_PROJECT_DIR}/shared"'
+    - env
     - mkdir -p ${SHARED_PATH}
     - cp -r ${CI_PROJECT_DIR}/* ${SHARED_PATH}
-    - ls ${SHARED_PATH}
+    - cp -r ${CI_PROJECT_DIR}/.* ${SHARED_PATH}
     - docker run -v ${SHARED_PATH}:/sites/memorekall/www/web_dev -v /log:/sites/memorekall/www/web_dev/log --entrypoint /sites/memorekall/www/web_dev/tools/ci-job.sh $TEST_IMAGE
   artifacts:
     when: always
diff --git a/tools/ci-job.sh b/tools/ci-job.sh
index f1fef245a4cca1dd78a9aa44e39e4e3c30217a08..edc5050bbab488e2a6fc2104fd5d4a5d2354093d 100755
--- a/tools/ci-job.sh
+++ b/tools/ci-job.sh
@@ -18,6 +18,10 @@ run_step(){
     fi
 }
 
+cd $(dirname $(dirname $0))
+if [ ! -f ".env" ]; then
+    cp .env_default .env
+fi
 run_step "Starting apache" apache2ctl -DFOREGROUND &
 run_step "PHP dependencies" composer install
 run_step "Javascript dependencies" npm install