#!/bin/bash -ex # Script that deploy this app to the AWS lambda function, similarly to Jenkins. USAGE=$(cat <<-END Usage: deploy_lambda.sh Examples: deploy_lambda.sh staging END ) if [[ "$1" = "-h" ]]; then echo "${USAGE}" exit fi if [[ -n "$1" ]]; then SERVER_GROUP=$1 else echo '[ERROR] You must specify the env: production, sandbox, staging' echo echo "${USAGE}" exit 1 fi BUILD_ENVIRONMENT=$1 APP_NAME=cameras-service-generate-clip export AWS_DEFAULT_REGION="us-west-1" export AWS_REGION="us-west-1" if [[ "${BUILD_ENVIRONMENT}" == "sandbox" ]]; then S3_BUCKET=sl-artifacts-dev else S3_BUCKET="sl-artifacts-${BUILD_ENVIRONMENT}" fi S3_PREFIX="lambda-functions/${APP_NAME}" S3_BUNDLE_KEY="sl-${APP_NAME}.zip" S3_TAGGED_BUNDLE_KEY="sl-${APP_NAME}-${BUILD_TAG}.zip" make clean make install make lint make build aws \ s3 cp "dist/${S3_BUNDLE_KEY}" "s3://${S3_BUCKET}/${S3_PREFIX}/${S3_BUNDLE_KEY}" aws \ s3 cp "s3://${S3_BUCKET}/${S3_PREFIX}/${S3_BUNDLE_KEY}" "s3://${S3_BUCKET}/${S3_PREFIX}/${S3_TAGGED_BUNDLE_KEY}" aws \ lambda update-function-code \ --function-name "sl-${APP_NAME}-${BUILD_ENVIRONMENT}" \ --s3-bucket "${S3_BUCKET}" \ --s3-key "${S3_PREFIX}/${S3_TAGGED_BUNDLE_KEY}" echo "build description:${APP_NAME}|${BUILD_ENVIRONMENT}|${BUILD_TAG}|"