diff --git a/runner_scripts/root/config.sh b/runner_scripts/root/config.sh index 1d9b786506b89103f6916a483031bccc2c261fc3..49ad075ae97764487f25f07427323d5daa39f541 100755 --- a/runner_scripts/root/config.sh +++ b/runner_scripts/root/config.sh @@ -5,11 +5,13 @@ shopt -s inherit_errexit : "${CUSTOM_ENV_AUTH_USER:?"AUTH_USER CI/CD variable has not been set."}" : "${CUSTOM_ENV_CI_CONCURRENT_PROJECT_ID:?"CI_CONCURRENT_PROJECT_ID CI/CD variable has not been set."}" +AUTH_USER_WORK=$(runuser "$AUTH_USER" --command "echo \$WORK") + cat << EOS { - "builds_dir": "$WORK/gitlab-runner/builds/$CUSTOM_ENV_CI_CONCURRENT_PROJECT_ID", - "cache_dir": "$WORK/gitlab-runner/cache", + "builds_dir": "$AUTH_USER_WORK/gitlab-runner/builds/$CUSTOM_ENV_CI_CONCURRENT_PROJECT_ID", + "cache_dir": "$AUTH_USER_WORK/gitlab-runner/cache", "builds_dir_is_shared": false, "driver": { "name": "Testserver Cx" diff --git a/runner_scripts/root/run.sh b/runner_scripts/root/run.sh index 4ab6f3c1ea86b7ebac28c0597011ffdfb2d3bf3d..a88e6ee615117ae7c320f9927a78b5945f10837b 100755 --- a/runner_scripts/root/run.sh +++ b/runner_scripts/root/run.sh @@ -30,6 +30,7 @@ function error { AUTH_USER=$CUSTOM_ENV_AUTH_USER AUTH_USER_HOME=$(getent passwd "$AUTH_USER" | awk -F ":" '{print $6}') AUTH_USER_SHELL=$(getent passwd "$AUTH_USER" | awk -F ":" '{print $7}') +AUTH_USER_WORK=$(runuser "$AUTH_USER" --command "echo \$WORK") ## Check if the user exists and the validity of its ID id -u "$AUTH_USER" >/dev/null 2>&1 || error "User $AUTH_USER does not exist" @@ -51,7 +52,7 @@ exit 1 chown -R "$AUTH_USER" "$TMPDIR" -BASE_DIR=$WORK/gitlab-runner/builds/${CUSTOM_ENV_CI_CONCURRENT_PROJECT_ID:?}/${CUSTOM_ENV_CI_PROJECT_NAMESPACE:?}/${CUSTOM_ENV_CI_PROJECT_NAME:?} +BASE_DIR=$AUTH_USER_WORK/gitlab-runner/builds/${CUSTOM_ENV_CI_CONCURRENT_PROJECT_ID:?}/${CUSTOM_ENV_CI_PROJECT_NAMESPACE:?}/${CUSTOM_ENV_CI_PROJECT_NAME:?} runuser "$AUTH_USER" --command "mkdir -p $BASE_DIR"