Skip to content

Instantly share code, notes, and snippets.

@maatthc
Created June 25, 2020 10:44
Show Gist options
  • Save maatthc/820963495206b838938c41f2a7e3917b to your computer and use it in GitHub Desktop.
Save maatthc/820963495206b838938c41f2a7e3917b to your computer and use it in GitHub Desktop.
Builds AWS Lambda packages with native Linux dependencies when using MacOs
#!/bin/sh
DOCKER_IMAGE=node:12.18.0
docker kill lamda-builder 2>/dev/null
docker rm lamda-builder 2>/dev/null
rm -rf build && rm -rf dist
mkdir -p build && mkdir -p ../dist
cp -r index.js package.json yarn.lock src deps build 2>/dev/null || :
docker run --name lamda-builder -dt -v $PWD/build\:/build\:z -v $PWD/dist\:/dist\:z $DOCKER_IMAGE
sleep 1
docker ps
docker exec lamda-builder bash -c "apt-get update"
docker exec lamda-builder bash -c "apt install -y zip"
docker exec lamda-builder bash -c "cd /build && yarn --frozen-lockfile"
docker exec lamda-builder bash -c "cd /build && yarn install --frozen-lockfile --production"
docker exec lamda-builder bash -c "cd /build && rm -Rf deps "
echo "\nStarting ZIP process.."
docker exec lamda-builder bash -c "cd /build && zip -q -r ../dist/lambda-linux.zip . "
docker kill lamda-builder
docker rm lamda-builder
rm -rf build
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment