diff --git a/.gitlab/bin/gitlab_before_script.sh b/.gitlab/bin/gitlab_before_script.sh old mode 100644 new mode 100755 index 49226b2137a758210065abbbc1cfec407a46cb16..86fa494906ac4cbf2813f8611f73fb55ffefb39b --- a/.gitlab/bin/gitlab_before_script.sh +++ b/.gitlab/bin/gitlab_before_script.sh @@ -1,9 +1,17 @@ #!/usr/bin/env bash set -eo pipefail -dokku_version=${DOKKU_VERSION:-master} -echo "Dokku client version: $dokku_version" +export DOKKU_HOST=${DOKKU_HOST:=} +export DOKKU_PORT=${DOKKU_PORT:=22} +export DOKKU_VERSION=${DOKKU_VERSION:=master} -git clone --single-branch --branch "$dokku_version" \ +[[ -z "$DOKKU_HOST" ]] && echo "DOKKU_HOST is required and must be set as an environment variable" >&2 && exit 1 + +echo "Cloning Dokku client script (version $DOKKU_VERSION) into /opt/dokku ..." +git clone --single-branch --branch "$DOKKU_VERSION" \ https://github.com/dokku/dokku.git /opt/dokku + +echo "Setting 'dokku' as an alias for '/opt/dokku/contrib/dokku_client.sh' ..." alias dokku="/opt/dokku/contrib/dokku_client.sh" + +echo "Completed setting up Dokku client on the CI environment" diff --git a/.gitlab/ci/dokku.gitlab-ci.yml b/.gitlab/ci/dokku.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..7ebb7c5b572c747b976a196f1042e7821cff8f9e --- /dev/null +++ b/.gitlab/ci/dokku.gitlab-ci.yml @@ -0,0 +1,13 @@ +--- +.dokku: + image: docker.io/bitnami/git:2.42.1 + stage: deploy + variables: + DOKKU_HOST: "" + DOKKU_PORT: 22 + DOKKU_VERSION: master + DOKKU_TRACE: "" + before_script: + - chmod +x .gitlab/bin/gitlab_before_script.sh && bash .gitlab/bin/gitlab_before_script.sh + script: + - echo "TODO"