我有一个基于.NetCore的Lambda项目,我想用AWS CodeBuild构建。
我有一个CodeCommit Repo for source,我正在使用Lambda来在我的master分支提交时触发构建。我不想使用CodePipeline。 我将按照以下代码构建 -
现在我有几个shell脚本要作为其中的一部分执行,这些脚本在本地工作正常,这就是我想在CodeBuild中使用它们的原因。
我正在使用来自AWS的基于Ubuntu的.net核心映像进行构建和我的代码构建项目,我已在pre_build中更新了构建规范 - chmod +x *.sh
并对我的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
现在,我在代码生成中尝试执行shell命令时遇到错误: 运行命令:
sh lambda-deployer.sh --existing-lambda=n --update-lambda=y
lamdbda-deployer.sh: 5: lambda-deployer.sh: Syntax error: "(" unexpected