-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
26 lines (21 loc) · 1.28 KB
/
Makefile
File metadata and controls
26 lines (21 loc) · 1.28 KB
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
construct-directories:
# Create package staging area as zip cannot create dirs itself.
mkdir -p ./lambda/$(working_dir)/tmp/ ./lambda/$(working_dir)/tmp/package/ ./lambda/$(working_dir)/tmp/hash/ ./lambda/$(working_dir)/tmp/current_hash/
build-package:
# pip can create dirs - we want to exclude "lambda/<working_dir>" in our package - so run pip & zip commands from inside the python directory
cd ./lambda/$(working_dir)/ && \
pip3 install --target ./tmp/dependencies -r ./requirements.txt && \
zip -r ./tmp/package/deployment-package.zip ./tmp/dependencies/* && \
zip -r ./tmp/package/deployment-package.zip ./src/*
generate-source-hash:
# Generate new hash
openssl dgst -sha256 -binary ./lambda/$(working_dir)/tmp/package/deployment-package.zip | openssl enc -base64 > "./lambda/$(working_dir)/tmp/hash/deployment-package.sha256"
release-deployment-package-to-s3:
# Push deployment package to S3
aws s3 cp ./lambda/$(working_dir)/tmp/package/deployment-package.zip s3://$(lambda_template_bucket)/$(working_dir)/deployment-package/
release-source-hash-to-s3:
# Push SHA256 hash to S3
aws s3 cp ./lambda/$(working_dir)/tmp/hash/deployment-package.sha256 s3://$(lambda_template_bucket)/$(working_dir)/source-hash/
clean-up:
# Remove tmp staging area.
rm -rf ./lambda/$(working_dir)/tmp/