1+ version : 2
2+ defaults : &defaults
3+ docker :
4+ - image : circleci/python:2.7-stretch-browsers
5+ install_dependency : &install_dependency
6+ name : Installation of build and deployment dependencies.
7+ command : |
8+ sudo apt install jq
9+ sudo pip install awscli --upgrade
10+ sudo pip install docker-compose
11+ install_deploysuite : &install_deploysuite
12+ name : Installation of install_deploysuite.
13+ command : |
14+ git clone --branch v1.4 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript
15+ cp ./../buildscript/master_deploy.sh .
16+ cp ./../buildscript/buildenv.sh .
17+ cp ./../buildscript/awsconfiguration.sh .
18+ restore_cache_settings_for_build : &restore_cache_settings_for_build
19+ key : docker-node-modules-{{ checksum "package-lock.json" }}
20+
21+ save_cache_settings : &save_cache_settings
22+ key : docker-node-modules-{{ checksum "package-lock.json" }}
23+ paths :
24+ - node_modules
25+
26+ builddeploy_steps : &builddeploy_steps
27+ - checkout
28+ - setup_remote_docker
29+ - run : *install_dependency
30+ - run : *install_deploysuite
31+ - restore_cache : *restore_cache_settings_for_build
32+ - run : ./build.sh ${APPNAME}
33+ - save_cache : *save_cache_settings
34+ - deploy :
35+ name : Running MasterScript.
36+ command : |
37+ ./awsconfiguration.sh $DEPLOY_ENV
38+ source awsenvconf
39+ ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar
40+ source buildenvvar
41+ ./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME}
42+
43+
44+ jobs :
45+ # Build & Deploy against development backend
46+ " build-dev " :
47+ << : *defaults
48+ environment :
49+ DEPLOY_ENV : " DEV"
50+ LOGICAL_ENV : " dev"
51+ APPNAME : " challenge-processor"
52+ steps : *builddeploy_steps
53+
54+ " build-prod " :
55+ << : *defaults
56+ environment :
57+ DEPLOY_ENV : " PROD"
58+ LOGICAL_ENV : " prod"
59+ APPNAME : " challenge-processor"
60+ steps : *builddeploy_steps
61+
62+ workflows :
63+ version : 2
64+ build :
65+ jobs :
66+ # Development builds are executed on "develop" branch only.
67+ - " build-dev " :
68+ context : org-global
69+ filters :
70+ branches :
71+ only :
72+ - circleci
73+
74+ # Production builds are exectuted only on tagged commits to the
75+ # master branch.
76+ - " build-prod " :
77+ context : org-global
78+ filters :
79+ branches :
80+ only : master
0 commit comments