【问题标题】:How do you package up a visual studio aws serverless project?您如何打包 Visual Studio aws 无服务器项目?
【发布时间】:2018-05-22 00:52:10
【问题描述】:

我正在尝试弄清楚是否有一种方法可以自动打包 aws 无服务器项目,以便我们可以拆分构建和发布管道。

使用 dotnet lambda 命令行工具,我可以看到有一个 dotnet lambda package 命令将 lambda 打包为 .zip 文件以准备部署。但是我找不到任何东西可以打包整个无服务器应用程序。

这可能吗?如果是,我应该运行什么命令?

我们在 VSTS 上运行构建和发布管道,但我认为只要我能编写脚本,我真的不会有什么不同。

【问题讨论】:

  • 关键字是visual studio aws serverless project。您是否安装了Visual Studio AWS Toolkit?它包含AWS Serverless project templates。至于从命令行创建 .NET Core 项目,相关命令为dotnet new whatever。安装工具包后,在控制台中不带参数运行 dotnet new 以列出新模板的名称
  • This guide 展示了如何从命令行安装 AWS 模板
  • 我已经创建了项目,可以在 Visual Studio 中使用右键单击项目和 Publish to AWS Lambda 或通过运行 dotnet lambda deploy-serverless 来部署它,但是我希望它可以作为多个步骤运行我们的构建服务器,所以第 1 步 - “构建 C# 代码和包工件”,第 2 步 - “部署到开发测试堆栈”,第 3 步 - “部署到生产堆栈”
  • 您没有询问如何配置您的 XYZ 构建服务器以运行构建脚本。您使用的是哪个构建服务器?它是否支持 .NET 命令、脚本、批处理?在最坏的情况下,您可以使用命令创建一个build.cmd 文件。
  • 我正在运行哪个构建环境并不重要,理想情况下我想使用 cake,但可以退回到使用任何旧命令。我会更清楚地更新问题

标签: c# .net-core aws-lambda amazon-cloudformation aws-serverless


【解决方案1】:

看起来这可以通过使用 dotnet lambda package 命令将 lambda 函数打包到一个 zip 文件中,然后复制到 serverless.template 文件以供以后使用。

dotnet lambda package

一旦我们有了*.zipserverless.template,我们就可以使用以下参数运行dotnet lambda deploy-serverless

dotnet lambda deploy-serverless --package .\drop\MyApp.zip --template .\drop\serverless.template

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-17
    • 2022-09-26
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多