From 8566fc33c07c6bba9a7f71d029e991558952f994 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Mon, 5 Apr 2021 11:45:53 +0530 Subject: [PATCH 1/4] deploying.. --- .circleci/config.yml | 80 ++++++++++++++++++++++++++++++++++++++++++++ config/default.js | 2 +- src/app.js | 10 ++++-- src/common/helper.js | 2 +- 4 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..2bd04ba --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,80 @@ +version: 2 +defaults: &defaults + docker: + - image: circleci/python:2.7.18-stretch-browsers +install_dependency: &install_dependency + name: Installation of build and deployment dependencies. + command: | + sudo apt install jq + sudo pip install awscli --upgrade + sudo pip install docker-compose +install_deploysuite: &install_deploysuite + name: Installation of install_deploysuite. + command: | + git clone --branch v1.4.3 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-node-modules-{{ checksum "package-lock.json" }} + +save_cache_settings: &save_cache_settings + key: docker-node-modules-{{ checksum "package-lock.json" }} + paths: + - node_modules + +builddeploy_steps: &builddeploy_steps + - checkout + - setup_remote_docker + - run: *install_dependency + - run: *install_deploysuite + - restore_cache: *restore_cache_settings_for_build + - run: ./build.sh ${APPNAME} + - save_cache: *save_cache_settings + - deploy: + name: Running MasterScript. + command: | + ./awsconfiguration.sh $DEPLOY_ENV + source awsenvconf + ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar + source buildenvvar + ./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME} + + +jobs: + # Build & Deploy against development backend + "build-dev": + <<: *defaults + environment: + DEPLOY_ENV: "DEV" + LOGICAL_ENV: "dev" + APPNAME: "u-bahn-backendjob" + steps: *builddeploy_steps + + "build-prod": + <<: *defaults + environment: + DEPLOY_ENV: "PROD" + LOGICAL_ENV: "prod" + APPNAME: "u-bahn-backendjob" + steps: *builddeploy_steps + +workflows: + version: 2 + build: + jobs: + # Development builds are executed on "develop" branch only. + - "build-dev": + context : org-global + filters: + branches: + only: + - develop + + # Production builds are exectuted only on tagged commits to the + # master branch. + - "build-prod": + context : org-global + filters: + branches: + only: master diff --git a/config/default.js b/config/default.js index c2f028c..18f1c94 100644 --- a/config/default.js +++ b/config/default.js @@ -13,7 +13,6 @@ module.exports = { AUTH0_URL: process.env.AUTH0_URL || 'https://topcoder-dev.auth0.com/oauth/token', // Auth0 credentials AUTH0_AUDIENCE: process.env.AUTH0_TOPCODER_AUDIENCE || 'https://m2m.topcoder-dev.com/', - TOKEN_CACHE_TIME: process.env.TOKEN_CACHE_TIME, AUTH0_CLIENT_ID: process.env.AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET: process.env.AUTH0_CLIENT_SECRET, AUTH0_PROXY_SERVER_URL: process.env.AUTH0_PROXY_SERVER_URL, @@ -24,6 +23,7 @@ module.exports = { DB_HOST: process.env.DB_HOST || 'localhost', DB_PORT: process.env.DB_PORT || 5432, + REDIS_URL: process.env.REDIS_URL, REDIS_HOST: process.env.REDIS_HOST || 'localhost', REDIS_PORT: parseInt(process.env.REDIS_PORT || 6379), REDIS_PASSWORD: process.env.REDIS_PASSWORD, diff --git a/src/app.js b/src/app.js index 451e0ee..d7938ca 100644 --- a/src/app.js +++ b/src/app.js @@ -14,9 +14,15 @@ const User = sequelize.models.User /** * Send user skill event */ -async function main () { +async function main() { + const redis_url = config.REDIS_URL let offset = config.USER_RECORD_OFFSET - const client = redis.createClient({ host: config.REDIS_HOST, port: config.REDIS_PORT, password: config.REDIS_PASSWORD, user: config.REDIS_USER }) + let client + if (redis_url) { + client = redis.createClient(redis_url) + } else { + client = redis.createClient({ host: config.REDIS_HOST, port: config.REDIS_PORT, password: config.REDIS_PASSWORD, user: config.REDIS_USER }) + } const offsetFromRedis = await promisify(client.get).bind(client)(config.OFFSET_REDIS_KEY) if (offsetFromRedis) { offset = offsetFromRedis diff --git a/src/common/helper.js b/src/common/helper.js index 808087b..79f2c93 100644 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -5,7 +5,7 @@ const _ = require('lodash') const config = require('config') const logger = require('./logger') const busApi = require('tc-bus-api-wrapper') -const busApiClient = busApi(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'TOKEN_CACHE_TIME', 'AUTH0_CLIENT_ID', +const busApiClient = busApi(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'AUTH0_CLIENT_ID', 'AUTH0_CLIENT_SECRET', 'BUSAPI_URL', 'KAFKA_ERROR_TOPIC', 'AUTH0_PROXY_SERVER_URL'])) /** From 3d9fa762d62215678a2d4bba6f4aca547d080fa1 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Mon, 5 Apr 2021 11:51:00 +0530 Subject: [PATCH 2/4] ci/cd --- src/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app.js b/src/app.js index d7938ca..91ab978 100644 --- a/src/app.js +++ b/src/app.js @@ -18,11 +18,13 @@ async function main() { const redis_url = config.REDIS_URL let offset = config.USER_RECORD_OFFSET let client + if (redis_url) { client = redis.createClient(redis_url) } else { client = redis.createClient({ host: config.REDIS_HOST, port: config.REDIS_PORT, password: config.REDIS_PASSWORD, user: config.REDIS_USER }) } + const offsetFromRedis = await promisify(client.get).bind(client)(config.OFFSET_REDIS_KEY) if (offsetFromRedis) { offset = offsetFromRedis From 11f5cc1e4ccf30787e3f1e6743bda8d8eb73aee6 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Mon, 5 Apr 2021 12:15:50 +0530 Subject: [PATCH 3/4] docker changes --- docker/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 9ace6c9..8569a64 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: - ubahn-skill-processor-trigger: - image: ubahn-skill-processor-trigger:latest + u-bahn-backendjob: + image: u-bahn-backendjob:latest build: context: ../ dockerfile: docker/Dockerfile From 13a8f4f0ffca98283b82f8165397b075eb0d85e0 Mon Sep 17 00:00:00 2001 From: Sachin Maheshwari Date: Mon, 5 Apr 2021 12:21:30 +0530 Subject: [PATCH 4/4] setting docker --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 13b2958..c7ec798 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,10 +2,10 @@ FROM node:12.16.3 # Copy the current directory into the Docker image -COPY . /ubahn-skill-processor-trigger +COPY . /u-bahn-backendjob # Set working directory for future use -WORKDIR /ubahn-skill-processor-trigger +WORKDIR /u-bahn-backendjob # Install the dependencies from package.json RUN npm install