如何使用Buddy.Works作为管道部署.NET Core AWS Lambda项目



我正在尝试在Buddy.Works中设置一个管道,以将.NET Core AWS Lambda项目部署到AWS。Buddy 有一个超级方便的 AWS_LAMBDA_DEPLOY 操作,可以执行实际部署,但不幸的是,它只从"local_path"(即存储库)而不是 Buddy 文件系统中提取,否定了为将 lambda 发布到文件系统所做的任何构建操作。因此,我在部署功能中收到错误,因为Buddy找不到"/bin/release/netcoreapp2.1/publish"文件。这是我当前的示例 yaml 文件:

- action: "Execute: dotnet build"
type: "BUILD"
working_directory: "/buddy/lambda_name"
docker_image_name: "microsoft/dotnet"
docker_image_tag: "2-sdk"
execute_commands:
- "dotnet build"
- "dotnet publish --configuration release --framework netcoreapp2.1"
mount_file_system_path: "/buddy/lambda_name"
shell: "BASH"
trigger_condition: "ALWAYS"
- action: "Deploy function "
type: "AWS_LAMBDA_DEPLOY"
local_path: "/bin/release/netcoreapp2.1/publish"
region: "us-west-2"
function_name: "AWSLambdaName"
trigger_condition: "ALWAYS"
integration_id: IntegrationID

让它工作,所以我想我会回答以防这对其他人有帮助......看起来区别在于将lambda的名称添加到"local_path"的开头,名称是包含lambda的项目文件夹的名称。

- action: "Execute: dotnet build"
type: "BUILD"
working_directory: "/lambda_name"
docker_image_name: "microsoft/dotnet"
docker_image_tag: "2-sdk"
execute_commands:
- "dotnet restore"
- "dotnet build"
- "dotnet publish --configuration release --framework netcoreapp2.1"
mount_filesystem_path: "/lambda_name"
shell: "BASH"
trigger_condition: "ALWAYS"
- action: "Deploy function "
type: "AWS_LAMBDA_DEPLOY"
local_path: "lambda_name/bin/Release/netcoreapp2.1/publish/"
region: "us-west-2"
function_name: "AWSLambdaName"
trigger_condition: "ALWAYS"
integration_id: IntegrationID

最新更新