我们是Bitbucket CI / CD管道创建和AWS部署的新手。
我们正尝试使用Bitbucket管道为无服务器应用程序模型将.Net核心(3.1)API构建和部署/发布到AWS Lambda。我们碰到了以下链接,可将其部署到AWS。
我们能够完成项目构建和测试,但是AWS Lambda SAM部署无法正常工作。请找到下面的yaml文件
image: mcr.microsoft.com/dotnet/core/sdk:3.1
pipelines:
default:
- step:
caches:
- dotnetcore
script: # Modify the commands below to build your repository.
- export PROJECT_NAME=MyProject
- export TEST_NAME=MyProject.Tests
- dotnet restore
- dotnet build $PROJECT_NAME
- dotnet test $TEST_NAME
- step:
name: deploy AWS SAM
script:
- pipe: atlassian/aws-sam-deploy:0.3.4
variables:
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} # Optional if already defined in the context.
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} # Optional if already defined in the context.
COMMAND: 'deploy'
我认为,我们在“部署AWS SAM”中缺少一些步骤,但是不确定如何提供已发布的库路径或任何其他步骤。我们在项目中没有使用任何docker。
有人可以帮忙吗?
答案 0 :(得分:0)
我面临着同样的问题。我找到了一个不是最佳解决方案的解决方案,但是可行。
您可以在管道映像中安装Amazon Lambda Tools,然后调用lambda deploy-serverless。另外,您需要安装一些东西来压缩(压缩)软件包。
“ dotnet lambda deploy-serverless”与具有AWS Toolkit的MS VS 2019相同。
image: mcr.microsoft.com/dotnet/core/sdk:3.1
pipelines:
default:
- step:
caches:
- dotnetcore
script: # Modify the commands below to build your repository.
- apt-get update && apt-get install -y zip
- dotnet tool install -g Amazon.Lambda.Tools
- export PATH="$PATH:/root/.dotnet/tools"
- dotnet lambda deploy-serverless