-
Notifications
You must be signed in to change notification settings - Fork 0
/
buildspec.yml
77 lines (73 loc) · 3.39 KB
/
buildspec.yml
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
version: 0.2
env:
variables:
VERSION_NUMBER: "v1.0.0" # Default value
#Add more bucket names as needed. Waiting approval for buckets for Tel Aviv and Hong Kong
BUCKET_LIST: >
redis-cf-ap-northeast-1,
redis-cf-ap-northeast-2,
redis-cf-ap-south-1,
redis-cf-ap-southeast-1,
redis-cf-ap-southeast-2,
redis-cf-ca-central-1,
redis-cf-eu-central-1,
redis-cf-eu-north-1,
redis-cf-eu-west-1,
redis-cf-eu-west-2,
redis-cf-eu-west-3,
redis-cf-sa-east-1,
redis-cf-us-east-1,
redis-cf-us-east-2,
redis-cf-us-west-1,
redis-cf-us-west-2
phases:
pre_build:
commands:
- apt-get update
- apt-get install -y zip
build:
commands:
# Clone the GitHub repository
- git clone https://github.com/RedisLabs/RedisCF-FlexibleSubscription.git
- cd RedisCF-FlexibleSubscription
# Extract the version number from the commit message
- |
commit_msg=$(git log -1 --pretty=format:%s)
version_number=$(echo "$commit_msg" | grep -oP 'v\d+\.\d+\.\d+')
export VERSION_NUMBER=$version_number
# Upload CF template to S3
- |
for BUCKET in $(echo $BUCKET_LIST | tr "," "\n"); do
echo "Uploading CF template to bucket: $BUCKET"
aws s3 cp CloudFormation/FlexibleSubscriptionCFTemplate.yml s3://$BUCKET/Flexible-Subscription/$VERSION_NUMBER/
aws s3 cp CloudFormation/FlexibleSubscriptionCFTemplate.yml s3://$BUCKET/Flexible-Subscription/latest/
done
# Create a zip archive for lambdas and upload archives to S3
- zip -j FlexibleSubscription-CheckState.zip Lambda/FlexibleSubscription-CheckState.py
- zip -j FlexibleSubscription-CFResponse.zip Lambda/FlexibleSubscription-CFResponse.py
- zip -j FlexibleSubscription-Handler.zip Lambda/FlexibleSubscription-Handler.py
- |
for BUCKET in $(echo $BUCKET_LIST | tr "," "\n"); do
echo "Uploading lambda zip to bucket: $BUCKET"
aws s3 cp FlexibleSubscription-CheckState.zip s3://$BUCKET/Flexible-Subscription/latest/
aws s3 cp FlexibleSubscription-CFResponse.zip s3://$BUCKET/Flexible-Subscription/latest/
aws s3 cp FlexibleSubscription-Handler.zip s3://$BUCKET/Flexible-Subscription/latest/
aws s3 cp FlexibleSubscription-CheckState.zip s3://$BUCKET/Flexible-Subscription/$VERSION_NUMBER/
aws s3 cp FlexibleSubscription-CFResponse.zip s3://$BUCKET/Flexible-Subscription/$VERSION_NUMBER/
aws s3 cp FlexibleSubscription-Handler.zip s3://$BUCKET/Flexible-Subscription/$VERSION_NUMBER/
done
# Create a zip archive for layers and upload archives to S3
- cd Layers/requests_layer && zip -r requests_layer.zip python
- |
for BUCKET in $(echo $BUCKET_LIST | tr "," "\n"); do
echo "Uploading requests_layer to bucket: $BUCKET"
aws s3 cp requests_layer.zip s3://$BUCKET/Flexible-Subscription/$VERSION_NUMBER/
aws s3 cp requests_layer.zip s3://$BUCKET/Flexible-Subscription/latest/
done
- cd ../secrets_layer && zip -r secrets_layer.zip python
- |
for BUCKET in $(echo $BUCKET_LIST | tr "," "\n"); do
echo "Uploading secrets_layer to bucket: $BUCKET"
aws s3 cp secrets_layer.zip s3://$BUCKET/Flexible-Subscription/$VERSION_NUMBER/
aws s3 cp secrets_layer.zip s3://$BUCKET/Flexible-Subscription/latest/
done