1
+ version : 2
2
+ defaults : &defaults
3
+ docker :
4
+ - image : circleci/python:2.7.18-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 master_hostfix_v1 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
+ jobs :
43
+ # Build & Deploy against development backend
44
+ " build-dev " :
45
+ << : *defaults
46
+ environment :
47
+ DEPLOY_ENV : " DEV"
48
+ LOGICAL_ENV : " dev"
49
+ APPNAME : " skills-api"
50
+ steps : *builddeploy_steps
51
+
52
+ " build-prod " :
53
+ << : *defaults
54
+ environment :
55
+ DEPLOY_ENV : " PROD"
56
+ LOGICAL_ENV : " prod"
57
+ APPNAME : " skills-api"
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