Skip to content

Commit

Permalink
Use Dockerfile to create a .zip deployment package for Lambda
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaszlacinski committed Sep 19, 2024
1 parent f3138d5 commit 9d8bc44
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions scripts/build.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
#!/bin/bash

SRC_DIR='src/'
BUILD_DIR='build/'
ZIP_FILE='lambda.zip'
SCRIPT_DIR=$(dirname "$(realpath "$0")")
cd "$SCRIPT_DIR" || exit

IMAGE='public.ecr.aws/sam/build-python3.10:latest-x86_64'
USER_ID=$(id -u)
GROUP_ID=$(id -g)
IMAGE=stac_transaction_api

SRC_DIR=src
BUILD_DIR=build
ZIP_FILE=lambda.zip

docker build --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g) -t $IMAGE .

cd ..
if [ -e $BUILD_DIR ]; then
rm -r $BUILD_DIR
fi
mkdir -p $BUILD_DIR
mkdir $BUILD_DIR
cp requirements.txt $BUILD_DIR
cp $SRC_DIR/*.py $BUILD_DIR

docker pull $IMAGE
docker run -it --rm -v $(pwd)/$BUILD_DIR:/var/task --user $USER_ID:$GROUP_ID $IMAGE \
/bin/bash -c "cd /var/task && \
pip install -r requirements.txt -t . && \
zip -r9 $ZIP_FILE ."
docker run -it --rm -v $(pwd)/$BUILD_DIR:/var/task $IMAGE /bin/bash -c "
cd /var/task && \
pip install -r requirements.txt -t . && \
zip -r9 $ZIP_FILE ."

0 comments on commit 9d8bc44

Please sign in to comment.