From 92aab058efa48787dac99860ac20a89706826863 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 27 Mar 2019 13:21:17 +0530 Subject: [PATCH 1/5] sts updates, remove vars [skip ci] --- build.sh | 58 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/build.sh b/build.sh index b275b6e..9a8539f 100755 --- a/build.sh +++ b/build.sh @@ -5,46 +5,46 @@ set -eo pipefail # This script expects a single argument: NODE_ENV, which must be either # "development" or "production". -NODE_ENV=$1 +#NODE_ENV=$1 -ENV=$1 -AWS_REGION=$(eval "echo \$${ENV}_AWS_REGION") -AWS_ACCESS_KEY_ID=$(eval "echo \$${ENV}_AWS_ACCESS_KEY_ID") -AWS_SECRET_ACCESS_KEY=$(eval "echo \$${ENV}_AWS_SECRET_ACCESS_KEY") -AWS_ACCOUNT_ID=$(eval "echo \$${ENV}_AWS_ACCOUNT_ID") -AWS_REPOSITORY=$(eval "echo \$${ENV}_AWS_REPOSITORY") +#ENV=$1 +#AWS_REGION=$(eval "echo \$${ENV}_AWS_REGION") +#AWS_ACCESS_KEY_ID=$(eval "echo \$${ENV}_AWS_ACCESS_KEY_ID") +#AWS_SECRET_ACCESS_KEY=$(eval "echo \$${ENV}_AWS_SECRET_ACCESS_KEY") +#AWS_ACCOUNT_ID=$(eval "echo \$${ENV}_AWS_ACCOUNT_ID") +#AWS_REPOSITORY=$(eval "echo \$${ENV}_AWS_REPOSITORY") #App variables -AUTHDOMAIN=$(eval "echo \$${ENV}_AUTHDOMAIN") -AUTHSECRET=$(eval "echo \$${ENV}_AUTHSECRET") -VALIDISSUERS=$(eval "echo \$${ENV}_VALIDISSUERS") +#AUTHDOMAIN=$(eval "echo \$${ENV}_AUTHDOMAIN") +#AUTHSECRET=$(eval "echo \$${ENV}_AUTHSECRET") +#VALIDISSUERS=$(eval "echo \$${ENV}_VALIDISSUERS") -KAFKA_CLIENT_CERT=$(eval "echo \$${ENV}_KAFKA_CLIENT_CERT") -KAFKA_CLIENT_CERT_KEY=$(eval "echo \$${ENV}_KAFKA_CLIENT_CERT_KEY") -KAFKA_URL=$(eval "echo \$${ENV}_KAFKA_URL") -SENDGRID_API_KEY=$(eval "echo \$${ENV}_SENDGRID_API_KEY") +#KAFKA_CLIENT_CERT=$(eval "echo \$${ENV}_KAFKA_CLIENT_CERT") +#KAFKA_CLIENT_CERT_KEY=$(eval "echo \$${ENV}_KAFKA_CLIENT_CERT_KEY") +#KAFKA_URL=$(eval "echo \$${ENV}_KAFKA_URL") +#SENDGRID_API_KEY=$(eval "echo \$${ENV}_SENDGRID_API_KEY") -DB_DATABASE=$(eval "echo \$${ENV}_DB_DATABASE") -DB_HOST=$(eval "echo \$${ENV}_DB_HOST") -DB_PASSWORD=$(eval "echo \$${ENV}_DB_PASSWORD") -DB_PORT=$(eval "echo \$${ENV}_DB_PORT") -DB_USER=$(eval "echo \$${ENV}_DB_USER") -DATABASE_URL=postgres://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_DATABASE; +#DB_DATABASE=$(eval "echo \$${ENV}_DB_DATABASE") +#DB_HOST=$(eval "echo \$${ENV}_DB_HOST") +#DB_PASSWORD=$(eval "echo \$${ENV}_DB_PASSWORD") +#DB_PORT=$(eval "echo \$${ENV}_DB_PORT") +#DB_USER=$(eval "echo \$${ENV}_DB_USER") +#DATABASE_URL=postgres://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_DATABASE; -KAFKA_GROUP_ID=$(eval "echo \$${ENV}_KAFKA_GROUP_ID") -EMAIL_FROM=$(eval "echo \$${ENV}_EMAIL_FROM") -LOG_LEVEL=$(eval "echo \$${ENV}_LOG_LEVEL") -NODE_ENV=$(eval "echo \$${ENV}_NODE_ENV") -NODE_PORT=$(eval "echo \$${ENV}_NODE_PORT") -JWKSURI=$(eval "echo \$${ENV}_JWKSURI") -TEMPLATE_MAP=$(eval "echo \$${ENV}_TEMPLATE_MAP") +#KAFKA_GROUP_ID=$(eval "echo \$${ENV}_KAFKA_GROUP_ID") +#EMAIL_FROM=$(eval "echo \$${ENV}_EMAIL_FROM") +#LOG_LEVEL=$(eval "echo \$${ENV}_LOG_LEVEL") +#NODE_ENV=$(eval "echo \$${ENV}_NODE_ENV") +#NODE_PORT=$(eval "echo \$${ENV}_NODE_PORT") +#JWKSURI=$(eval "echo \$${ENV}_JWKSURI") +#TEMPLATE_MAP=$(eval "echo \$${ENV}_TEMPLATE_MAP") -TAG=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/tc-email-service:$CIRCLE_SHA1 - +#TAG=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/tc-email-service:$CIRCLE_SHA1 +TAG="tc-email-service:latest" docker build -t $TAG . # Copies "node_modules" from the created image, if necessary for caching. From 891fe6901ee605aff29e31d6183a1d8e0ac6fe65 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Wed, 27 Mar 2019 13:23:27 +0530 Subject: [PATCH 2/5] Update config.yml [skip ci] --- .circleci/config.yml | 131 ++++++++++++++++++++++--------------------- 1 file changed, 66 insertions(+), 65 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 13f2110..4aae300 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,90 +1,91 @@ version: 2 - -jobs: - # Build & Deploy against development backend rer - "build-dev": +defaults: &defaults docker: - image: docker:17.06.1-ce-git - steps: - # Initialization. - - checkout - - setup_remote_docker - - run: - name: Installation of build dependencies. - command: apk add --no-cache bash +install_dependency: &install_dependency + name: Installation of build and deployment dependencies. + command: | + apk update + apk add --no-cache bash curl + apk upgrade + apk add --no-cache jq py-pip sudo + sudo pip install awscli --upgrade +install_deploysuite: &install_deploysuite + name: Installation of install_deploysuite. + #Git Clone -change back to v1.3 or latest once counter var is generalized. + command: | + git clone --branch master https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript + cp ./../buildscript/master_deploy.sh . + cp ./../buildscript/buildenv.sh . + cp ./../buildscript/awsconfiguration.sh . + +restore_cache_settings_for_build: &restore_cache_settings_for_build + key: docker-tc-email-service-{{ checksum "package-lock.json" }} - # Restoration of node_modules from cache. - - restore_cache: - key: docker-tc-email-service-{{ checksum "package-lock.json" }} +save_cache_settings: &save_cache_settings + key: docker-tc-email-service-{{ checksum "package-lock.json" }} + paths: + - node_modules - # Build of Docker image. - - run: +run_build: &run_build name: Build of Docker image - command: ./build.sh DEV + command: ./build.sh - # Caching node modules. - - save_cache: - key: docker-tc-email-service-{{ checksum "package-lock.json" }} - paths: - - node_modules - - # Deployment. - - run: - name: Installing AWS client - command: | - apk add --no-cache jq py-pip sudo - sudo pip install awscli --upgrade +jobs: + # Build & Deploy against development backend rer + "build-dev": + <<: *defaults + steps: + - checkout + - setup_remote_docker + - run: *install_dependency + - run: *install_deploysuite + - restore_cache: *restore_cache_settings_for_build + - run: *run_build + - save_cache: *save_cache_settings - deploy: - command: ./deploy.sh DEV $CIRCLE_SHA1 - + name: Running Masterscript - deploy tc-email-service + command: | + ./awsconfiguration.sh DEV + source awsenvconf + ./buildenv.sh -e DEV -b dev-tc-email-service-deployvar + source buildenvvar + ./master_deploy.sh -d ECS -e DEV -t latest -s dev-global-appvar,dev-tc-email-service-appvar -i tc-email-service + + "build-prod": - docker: - - image: docker:17.06.1-ce-git + <<: *defaults steps: - # Initialization. - checkout - setup_remote_docker - - run: - name: Installation of build dependencies. - command: apk add --no-cache bash - - # Restoration of node_modules from cache. - - restore_cache: - key: docker-tc-email-service-{{ checksum "package-lock.json" }} - - # Build of Docker image. - - run: - name: Build of Docker image - command: ./build.sh PROD - - # Caching node modules. - - save_cache: - key: docker-tc-email-service-{{ checksum "package-lock.json" }} - paths: - - node_modules - - # Deployment. - - run: - name: Installing AWS client - command: | - apk add --no-cache jq py-pip sudo - sudo pip install awscli --upgrade - + - run: *install_dependency + - run: *install_deploysuite + - restore_cache: *restore_cache_settings_for_build + - run: *run_build + - save_cache: *save_cache_settings - deploy: - command: ./deploy.sh PROD $CIRCLE_SHA1 + name: Running Masterscript - prod deploy tc-email-service + command: | + ./awsconfiguration.sh PROD + source awsenvconf + ./buildenv.sh -e PROD -b prod-tc-email-service-deployvar + source buildenvvar + ./master_deploy.sh -d ECS -e PROD -t latest -s prod-global-appvar,prod-tc-email-service-appvar -i tc-email-service + workflows: version: 2 build: jobs: - # Development builds are executed on "dev" branch only. + # Development builds are executed on "develop" branch only. - "build-dev": + context : org-global filters: branches: - only: ["dev"] - # Production builds are executed on "master" branch only. + only: ['dev','dev-mssts'] - "build-prod": + context : org-global filters: branches: - only: "master" + only: master From 7f01967f9b7f525ee67d1d41efa2ef5ebd75e2f6 Mon Sep 17 00:00:00 2001 From: sachin-maheshwari Date: Thu, 28 Mar 2019 16:43:13 +0530 Subject: [PATCH 3/5] Update config.yml --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4aae300..a13d3e2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -51,7 +51,7 @@ jobs: source awsenvconf ./buildenv.sh -e DEV -b dev-tc-email-service-deployvar source buildenvvar - ./master_deploy.sh -d ECS -e DEV -t latest -s dev-global-appvar,dev-tc-email-service-appvar -i tc-email-service + ./master_deploy.sh -d ECS -e DEV -t latest -s dev-global-appvar,dev-tc-email-service-appvar -i tc-email-service -p FARGATE "build-prod": @@ -71,7 +71,7 @@ jobs: source awsenvconf ./buildenv.sh -e PROD -b prod-tc-email-service-deployvar source buildenvvar - ./master_deploy.sh -d ECS -e PROD -t latest -s prod-global-appvar,prod-tc-email-service-appvar -i tc-email-service + ./master_deploy.sh -d ECS -e PROD -t latest -s prod-global-appvar,prod-tc-email-service-appvar -i tc-email-service -p FARGATE workflows: From 0882333425a696b8eadd0dcbc6b399fdf7983140 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 8 Apr 2019 15:18:01 +0530 Subject: [PATCH 4/5] fix for docker - for python issue --- .circleci/config.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a13d3e2..6f8a693 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,15 +1,14 @@ version: 2 defaults: &defaults docker: - - image: docker:17.06.1-ce-git + - image: circleci/python:2.7-stretch-browsers install_dependency: &install_dependency name: Installation of build and deployment dependencies. command: | - apk update - apk add --no-cache bash curl - apk upgrade - apk add --no-cache jq py-pip sudo + sudo apt install jq sudo pip install awscli --upgrade + sudo pip install docker-compose + install_deploysuite: &install_deploysuite name: Installation of install_deploysuite. #Git Clone -change back to v1.3 or latest once counter var is generalized. @@ -83,7 +82,7 @@ workflows: context : org-global filters: branches: - only: ['dev','dev-mssts'] + only: ['dev'] - "build-prod": context : org-global filters: From 135cff1c7227507ed6acdbec2c682aa5a3860b45 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 8 Apr 2019 15:23:59 +0530 Subject: [PATCH 5/5] Update config.yml --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6f8a693..7d6f412 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -40,9 +40,9 @@ jobs: - setup_remote_docker - run: *install_dependency - run: *install_deploysuite - - restore_cache: *restore_cache_settings_for_build + # - restore_cache: *restore_cache_settings_for_build - run: *run_build - - save_cache: *save_cache_settings + # - save_cache: *save_cache_settings - deploy: name: Running Masterscript - deploy tc-email-service command: | @@ -60,9 +60,9 @@ jobs: - setup_remote_docker - run: *install_dependency - run: *install_deploysuite - - restore_cache: *restore_cache_settings_for_build + # - restore_cache: *restore_cache_settings_for_build - run: *run_build - - save_cache: *save_cache_settings + # - save_cache: *save_cache_settings - deploy: name: Running Masterscript - prod deploy tc-email-service command: |