AWS Codebuild running shell script

Viewed 5764

I have a .NetCore based Lambda Project, that I want to build with AWS CodeBuild.

I have a CodeCommit Repo for the source, and I am using a Lambda to trigger build whenever there is a commit to my master branch. I do not want to use CodePipeline. I the code build I will be doing following -

  1. Build
  2. Package
  3. Upload package to S3
  4. Run some AWS CLI commands to update the lambda function

Now I have a couple of shell scripts that I want to execute as part of this, these scripts are working fine for me locally and that is the reason I want to use them with CodeBuild.

I am using a Ubuntu based .net core image from AWS for my build and nn my code build project, I have updated the build spec to do - chmod +x *.sh in pre_build and made other changes to my buildspec.yml as per this thread: https://forums.aws.amazon.com/thread.jspa?messageID=760031 and also looked at following blog post trying to do something similar - http://openbedrock.blogspot.in/2017/03/aws-codebuild-howto.html

This is one such script that I want to execute:

#!/bin/bash
set -e
ZIPFILENAME=""

usage() 
{
    echo "build and package lambda project"
    echo "./build-package.sh "
    echo "Get this help message : -h --help "
    echo "Required Parameters: "
    echo "--zip-filename=<ZIP_FILE_NAME>"
    echo ""
}

if [ $# -eq 0 ]; then
      usage
      exit 1
fi

while [ "$1" != "" ]; do
    PARAM=`echo $1 | awk -F= '{print $1}'`
    VALUE=`echo $1 | awk -F= '{print $2}'`
    case $PARAM in
        -h | --help)
            usage
            exit
            ;;
        --zip-filename)
            ZIPFILENAME=$VALUE
            ;;
        *)
            echo "ERROR: unknown parameter \"$PARAM\""
            usage
            exit 1
            ;;
    esac
    shift
done

Now, I am getting error trying to execute shell command in Code Build: Running command:

sh lambda-deployer.sh --existing-lambda=n --update-lambda=y 
lamdbda-deployer.sh: 5: lambda-deployer.sh: Syntax error: "(" unexpected
0 Answers
Related