|
15 | 15 |
|
16 | 16 | set -eu |
17 | 17 |
|
18 | | -# Lambda Function name (must exist in AWS Lambda) |
19 | | -lambda_name=SwiftSample |
20 | | - |
21 | | -# S3 bucket name to upload zip file (must exist in AWS S3) |
22 | | -s3_bucket=swift-lambda-test |
23 | | - |
24 | | -workspace="$(pwd)/../.." |
25 | | - |
26 | 18 | DIR="$(cd "$(dirname "$0")" && pwd)" |
27 | 19 | source $DIR/config.sh |
28 | 20 |
|
| 21 | +workspace="$DIR/../.." |
| 22 | + |
29 | 23 | echo -e "\ndeploying $executable" |
30 | 24 |
|
31 | | -echo "-------------------------------------------------------------------------" |
32 | | -echo "preparing docker build image" |
33 | | -echo "-------------------------------------------------------------------------" |
34 | | -docker build . -t builder |
| 25 | +$DIR/build-and-package.sh "$executable" |
35 | 26 |
|
36 | 27 | echo "-------------------------------------------------------------------------" |
37 | | -echo "building \"$executable\" lambda" |
| 28 | +echo "uploading \"$executable\" lambda to AWS S3" |
38 | 29 | echo "-------------------------------------------------------------------------" |
39 | | -docker run --rm -v $workspace:/workspace -w /workspace builder \ |
40 | | - bash -cl "cd Examples/LambdaFunctions && \ |
41 | | - swift build --product $executable -c release -Xswiftc -g" |
42 | | -echo "done" |
43 | 30 |
|
44 | | -echo "-------------------------------------------------------------------------" |
45 | | -echo "packaging \"$executable\" lambda" |
46 | | -echo "-------------------------------------------------------------------------" |
47 | | -docker run --rm -v `pwd`:/workspace -w /workspace builder bash -cl "./scripts/package.sh $executable" |
| 31 | +read -p "S3 bucket name to upload zip file (must exist in AWS S3): " s3_bucket |
| 32 | +s3_bucket=${s3_bucket:-swift-lambda-test} # default for easy testing |
| 33 | + |
| 34 | +aws s3 cp ".build/lambda/$executable/lambda.zip" "s3://$s3_bucket/" |
48 | 35 |
|
49 | 36 | echo "-------------------------------------------------------------------------" |
50 | | -echo "uploading \"$executable\" lambda to s3" |
| 37 | +echo "updating AWS Lambda to use \"$executable\"" |
51 | 38 | echo "-------------------------------------------------------------------------" |
52 | 39 |
|
53 | | -aws s3 cp .build/lambda/$executable/lambda.zip s3://$s3_bucket/ |
| 40 | +read -p "Lambda Function name (must exist in AWS Lambda): " lambda_name |
| 41 | +lambda_name=${lambda_name:-SwiftSample} # default for easy testing |
54 | 42 |
|
55 | | -echo "-------------------------------------------------------------------------" |
56 | | -echo "updating \"$lambda_name\" to latest \"$executable\"" |
57 | | -echo "-------------------------------------------------------------------------" |
58 | | -aws lambda update-function-code --function $lambda_name --s3-bucket $s3_bucket --s3-key lambda.zip |
| 43 | +aws lambda update-function-code --function "$lambda_name" --s3-bucket "$s3_bucket" --s3-key lambda.zip |
0 commit comments