diff --git a/.circleci/config.yml b/.circleci/config.yml index e210f9b..aeab691 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -84,6 +84,7 @@ workflows: only: - develop - master + - develop-v2 - deploy: requires: - upgrade-database @@ -92,4 +93,4 @@ workflows: only: - develop - master - - design + - develop-v2 diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 3924638..e357be9 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -20,12 +20,12 @@ set_variables() { GOOGLE_CLUSTER_NAME=${STAGING_CLUSTER_NAME} DEPLOYMENT_NAME="${ENVIRONMENT}-${PROJECT_NAME}" ;; - design) - IMAGE_TAG="design-${COMMIT_HASH}" + develop-v2) + IMAGE_TAG="staging-v2-${COMMIT_HASH}" ENVIRONMENT=staging GOOGLE_COMPUTE_ZONE=${STAGING_ZONE} GOOGLE_CLUSTER_NAME=${STAGING_CLUSTER_NAME} - DEPLOYMENT_NAME="design-${PROJECT_NAME}" + DEPLOYMENT_NAME="staging-v2-${PROJECT_NAME}" ;; *) echo "Err: This branch should not deploy." diff --git a/scripts/slack_notification.sh b/scripts/slack_notification.sh index 1db2638..73b6474 100644 --- a/scripts/slack_notification.sh +++ b/scripts/slack_notification.sh @@ -45,6 +45,21 @@ declare_env_variables() { else ENVIRONMENT="Staging" fi + case "$CIRCLE_BRANCH" in + master) + ENVIRONMENT="Production" + ;; + develop) + ENVIRONMENT="Staging" + ;; + develop-v2) + ENVIRONMENT="Staging V2" + ;; + *) + echo "Err: This branch should not deploy." + exit 1 + ;; + esac if [ "$CIRCLE_JOB" == "upgrade-database" ]; then upgrade_env_variables "$@" diff --git a/scripts/upgrade.sh b/scripts/upgrade.sh index c55181a..e91c0bf 100644 --- a/scripts/upgrade.sh +++ b/scripts/upgrade.sh @@ -3,19 +3,36 @@ set -o errexit set -o pipefail set_variables(){ - if [ "$CIRCLE_BRANCH" == 'master' ]; then - APP_SETTINGS="Production" - CLOUDSQL_CONNECTION_NAME=${PRODUCTION_CLOUD_SQL_CONNECTION_NAME} - DATABASE_URL=${PRODUCTION_DATABASE_URL} - INSTANCE_NAME=${PRODUCTION_INSTANCE_NAME} - DATABASE_NAME=${PRODUCTION_DATABASE_NAME} - else - APP_SETTINGS="Staging" - CLOUDSQL_CONNECTION_NAME=${STAGING_CLOUD_SQL_CONNECTION_NAME} - DATABASE_URL=${STAGING_DATABASE_URL} - INSTANCE_NAME=${STAGING_INSTANCE_NAME} - DATABASE_NAME=${STAGING_DATABASE_NAME} - fi + case "$CIRCLE_BRANCH" in + master) + APP_SETTINGS="Production" + VERSION="" + CLOUDSQL_CONNECTION_NAME=${PRODUCTION_CLOUD_SQL_CONNECTION_NAME} + DATABASE_URL=${PRODUCTION_DATABASE_URL} + INSTANCE_NAME=${PRODUCTION_INSTANCE_NAME} + DATABASE_NAME=${PRODUCTION_DATABASE_NAME} + ;; + develop) + APP_SETTINGS="Staging" + VERSION="" + CLOUDSQL_CONNECTION_NAME=${STAGING_CLOUD_SQL_CONNECTION_NAME} + DATABASE_URL=${STAGING_DATABASE_URL} + INSTANCE_NAME=${STAGING_INSTANCE_NAME} + DATABASE_NAME=${STAGING_DATABASE_NAME} + ;; + develop-v2) + APP_SETTINGS="Staging" + VERSION="-v2" + CLOUDSQL_CONNECTION_NAME=${STAGING_CLOUD_SQL_CONNECTION_NAME} + DATABASE_URL=${STAGING_DATABASE_URL} + INSTANCE_NAME=${STAGING_INSTANCE_NAME} + DATABASE_NAME=${STAGING_V2_DATABASE_NAME} + ;; + *) + echo "Err: This branch should not deploy." + exit 1 + ;; + esac } install_google_cloud_sdk(){ @@ -34,7 +51,7 @@ authenticate_google_cloud() { } export_data() { - DUMP_NAME=$(echo "${APP_SETTINGS}" | tr '[:upper:]' '[:lower:]')-sqldumpfile-$(date '+%Y-%m-%d-%H-%M-%S').gz + DUMP_NAME=$(echo "${APP_SETTINGS}" | tr '[:upper:]' '[:lower:]')${VERSION}-sqldumpfile-$(date '+%Y-%m-%d-%H-%M-%S').gz gcloud sql export sql ${INSTANCE_NAME} gs://${SOCIETIES_GCP_BUCKET}/${DUMP_NAME} \ --database=${DATABASE_NAME} }