AWS Codebuild работает сценарий оболочки

У меня есть Lambda Project, основанный на.NetCore, который я хочу построить с помощью AWS CodeBuild.

У меня есть CodeCommit Repo для исходного кода, и я использую Lambda для запуска сборки всякий раз, когда происходит фиксация в моей основной ветке. Я не хочу использовать CodePipeline. В сборке кода я буду делать следующее:

  1. строить
  2. пакет
  3. Загрузить пакет на S3
  4. Выполните несколько команд CLI AWS для обновления лямбда-функции

Теперь у меня есть пара сценариев оболочки, которые я хочу выполнить как часть этого, эти сценарии прекрасно работают для меня локально, и именно поэтому я хочу использовать их с CodeBuild.

Я использую образ ядра.net на основе Ubuntu из AWS для своей сборки и в своем проекте сборки кода, я обновил спецификацию сборки, чтобы сделать - chmod +x *.sh в pre_build и внес другие изменения в мой buildspec.yml в соответствии с этой веткой: https://forums.aws.amazon.com/thread.jspa?messageID=760031 а также просмотрел следующий пост в блоге, пытаясь сделать нечто подобное - http://openbedrock.blogspot.in/2017/03/aws-codebuild-howto.html

Это один из таких сценариев, который я хочу выполнить:

#!/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

Теперь я получаю сообщение об ошибке при попытке выполнить команду оболочки в Code Build: Выполнение команды:

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

0 ответов

Другие вопросы по тегам