-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathup.sh
executable file
·61 lines (43 loc) · 1.82 KB
/
up.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash -x
# Stage is $1
function getOutputValue() {
echo "$1" | jq -r --arg key "$2" '.|map(select(.OutputKey == $key))|.[0].OutputValue'
}
if [ -z "$1" ]; then
STAGE=""
STACK_STAGE=""
else
STAGE="-s $1"
STACK_STAGE="-$1"
fi
cd serverless
sls create_domain $STAGE
sls deploy $STAGE
STACK_NAME="aws-nodejs${STACK_STAGE}"
cd -
OUTPUTS=$(aws cloudformation describe-stacks --stack-name "$STACK_NAME" | jq -r '.Stacks[0].Outputs')
USER_POOL_ID=$(getOutputValue "$OUTPUTS" "UserPoolId")
APP_CLIENT_ID=$(getOutputValue "$OUTPUTS" "ClientId")
IDENTITY_POOL_ID=$(getOutputValue "$OUTPUTS" "IdentityPoolId")
FRONTEND_BUCKET=$(getOutputValue "$OUTPUTS" "FrontendBucket")
APPROVED_TABLE=$(getOutputValue "$OUTPUTS" "DDBTableApproved")
NOT_APPROVED_TABLE=$(getOutputValue "$OUTPUTS" "DDBTableNotApproved")
DISTRIBUTION_ID=$(getOutputValue "$OUTPUTS" "CFDistribution")
cd admin-ui
yarn install
yarn run build-css
yarn run build
cd build
# "identityPoolId": "us-east-1:1e166dad-bd15-4e39-9700-68c9c1305906",
# "userPoolId": "us-east-1_0QbddCzbp",
# "clientId": "apef76d7ojassafva35o5tap2",
# "dynamoPendingAlerts": "aws-nodejs-riki3-DDBTableNotApproved-689LKZKDLM2Z",
# "dynamoApprovedAlerts": "aws-nodejs-riki3-DDBTableApproved-18O0SSFMUK6QT"
## Modify config.json so that will reference UserPools, DynamoDB tables etc generated by CloudFormation
sed -i -e "s/us-east-1_7sNHAUDRN/$USER_POOL_ID/g" -e "s/6gd65aiokd10rf1hijotm7hd14/$APP_CLIENT_ID/g" \
-e "s/us-east-1:85d49d2f-34af-4356-b4a5-c9fff5f2ec9e/$IDENTITY_POOL_ID/g" \
-e "s/aws-nodejs-demo-DDBTableNotApproved-1PBLAMOHRKZK0/$NOT_APPROVED_TABLE/g" \
-e "s/aws-nodejs-demo-DDBTableApproved-1DPDO5D5PD7GQ/$APPROVED_TABLE/g" \
config.json
aws s3 sync --acl=public-read . s3://$FRONTEND_BUCKET
aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths '/*'