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.1 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
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 ${DEPLOY_ENV}-${APPNAME}-deployvar
40
+ source buildenvvar
41
+ ./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${DEPLOY_ENV}-global-appvar,${DEPLOY_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
+ APPNAME : " topcoder-x-ui"
51
+ steps : *builddeploy_steps
52
+
53
+ " build-prod " :
54
+ << : *defaults
55
+ environment :
56
+ DEPLOY_ENV : " prod"
57
+ APPNAME : " topcoder-x-ui"
58
+ steps : *builddeploy_steps
59
+
60
+ workflows :
61
+ version : 2
62
+ build :
63
+ jobs :
64
+ # Development builds are executed on "develop" branch only.
65
+ - " build-dev " :
66
+ context : org-global
67
+ filters :
68
+ branches :
69
+ only :
70
+ - develop
71
+
72
+ # Production builds are exectuted only on tagged commits to the
73
+ # master branch.
74
+ - " build-prod " :
75
+ context : org-global
76
+ filters :
77
+ branches :
78
+ only : master
0 commit comments