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-api"
52
+ steps : *builddeploy_steps
53
+
54
+ " build-prod " :
55
+ << : *defaults
56
+ environment :
57
+ DEPLOY_ENV : " PROD"
58
+ LOGICAL_ENV : " prod"
59
+ APPNAME : " challenge-api"
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
+ - develop
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