docker-run 525 B

1234567891011121314151617181920
  1. #!/usr/bin/env bash
  2. set -o errexit -o pipefail
  3. DIR=$(dirname "${0}")
  4. MAIN_DIR=$(readlink -f "${DIR}/..")
  5. # shellcheck disable=SC2016
  6. IMAGE=$(grep ^image: "${MAIN_DIR}/.gitlab-ci.yml" | \
  7. sed -e 's,^image: ,,g' | sed -e 's,\$CI_REGISTRY,registry.gitlab.com,g')
  8. declare -a docker_opts=(
  9. -i
  10. --rm
  11. --user "$(id -u):$(id -g)"
  12. --mount "type=bind,src=${MAIN_DIR},dst=${MAIN_DIR}"
  13. --workdir "${MAIN_DIR}"
  14. )
  15. if tty -s; then
  16. docker_opts+=( -t )
  17. fi
  18. exec docker run "${docker_opts[@]}" "${IMAGE}" "${@}"