diff --git a/bin/dokku-deploy b/bin/dokku-deploy index 97b2e91..8f573e7 100755 --- a/bin/dokku-deploy +++ b/bin/dokku-deploy @@ -8,34 +8,12 @@ ssh_remote="ssh://dokku@$(parse-ssh-host):$(parse-ssh-port)" if [ "$COMMAND" = "review-apps:create" ] || [ "$COMMAND" = 'review-apps:destroy' ]; then if [ -z "$REVIEW_APP_NAME" ]; then - CI_BRANCH_NAME="" - if [ -n "$CI_COMMIT_REF_NAME" ]; then - # gitlab-ci - CI_BRANCH_NAME="$CI_COMMIT_REF_NAME" - elif [ -n "$GITHUB_REF" ]; then - # github actions - CI_BRANCH_NAME="${GITHUB_REF#refs/heads/}" - elif [ -n "$CIRCLE_BRANCH" ]; then - # circleci - CI_BRANCH_NAME="$CIRCLE_BRANCH" - elif [ -n "$TRAVIS_BRANCH" ]; then - # travisci - CI_BRANCH_NAME="$TRAVIS_BRANCH" - elif [ -n "$SEMAPHORE_GIT_BRANCH" ]; then - # semaphoreci - CI_BRANCH_NAME="SEMAPHORE_GIT_BRANCH" - elif [ -n "$CI_BRANCH" ]; then - # cloudbees - CI_BRANCH_NAME="CI_BRANCH" - elif [ -n "$DRONE_COMMIT_BRANCH" ]; then - # drone - CI_BRANCH_NAME="DRONE_COMMIT_BRANCH" - else + CI_BRANCH_NAME="$(parse-ci-branch-name)" + if [ -z "$CI_BRANCH_NAME" ]; then log-error "Unable to detect branch name and cannot generate review app name" exit 1 fi - CI_BRANCH_NAME="$(echo "$CI_BRANCH_NAME" | tr '[:upper:]' '[:lower:]' | sed "s/[[:alpha:].-]/-/g")" REVIEW_APP_NAME="review-${app_name}-${CI_BRANCH_NAME}" log-info "No review app name specified, using $REVIEW_APP_NAME" fi diff --git a/bin/parse-ci-branch-name b/bin/parse-ci-branch-name new file mode 100755 index 0000000..c3e813f --- /dev/null +++ b/bin/parse-ci-branch-name @@ -0,0 +1,32 @@ +#!/bin/sh -l +set -e + +value="$CI_BRANCH_NAME" +if [ -n "$CI_BRANCH_NAME" ]; then + true +elif [ -n "$CI_COMMIT_REF_NAME" ]; then + # gitlab-ci + value="$CI_COMMIT_REF_NAME" +elif [ -n "$GITHUB_REF" ]; then + # github actions + value="${GITHUB_REF#refs/heads/}" +elif [ -n "$CIRCLE_BRANCH" ]; then + # circleci + value="$CIRCLE_BRANCH" +elif [ -n "$TRAVIS_BRANCH" ]; then + # travisci + value="$TRAVIS_BRANCH" +elif [ -n "$SEMAPHORE_GIT_BRANCH" ]; then + # semaphoreci + value="SEMAPHORE_GIT_BRANCH" +elif [ -n "$CI_BRANCH" ]; then + # cloudbees + value="CI_BRANCH" +elif [ -n "$DRONE_COMMIT_BRANCH" ]; then + # drone + value="DRONE_COMMIT_BRANCH" +else + exit 0 +fi + +echo "$value" | tr '[:upper:]' '[:lower:]' | sed "s/[[:alpha:].-]/-/g"