使用 CodePipeline 和 SAM CLI 为 AWS Lambda 设置 CI/CD

问候!今天,我将向您介绍如何使用和为设置。如果您想自动化部署无服务器应用程序的过程并摆脱常规,那么本文适合您。 我们需要什么 在开始之前,请确保您拥有 账户访问云服务。 用于与交互的命令行工具。 用于开发和部署序。 用于创建管道的服务。 用于构建和测试您的代码。 或用于存储源代码的存储库。 构建工件的存储。 设置环境 完成所有安装后,您需要配置,以便它可以与您的账户进行交互 系统将提示您输入 访问密钥和秘密访问密钥可以在控制台中的用户您的用户安全凭证下获取。 默认区域名称表示资源将部署到的区域例如。 默认输出格式通常设置为 创建无服务器应用程序 现在让我们创建一个要部署的简单无服务器应用程序。 让我们运行初始化命令 选择语言和版本。 我们项目的名称。

无服务器应用程序的实用程

我们使用模板。 结果将是一构。 项目树将如下所示代码。 描述的基础设施和配置。 包含对我们的功能的测试。 该文件是模板,定义将在中创建的资源。该文件夹包含测试。 该文件包含一个简单的处理程序 ! 此函数返回带有消息的简单。 局部功能测试 在部署该功能之前,我们先确保它可以在本地运行。 进入项目根目录并安装必要的依赖项 如果为空,则不需要额外的包。 允许您在本地运行函数,模拟网关 您将看到一条消息,表明服务器正在运行。 打开一个新终端并执行请求 您应该收到回复 ! 这意味着该功能可以正常工作并且可以部署。 准备部署 在设置之前,您需要准备用于部署的基础架构。 使用来存储构建工件。让我们创建一个存储桶 将其替换为唯一的存储桶名称非常重要。 需要一个存储桶来存储打包的函数代码,然后在使用部署时使用它。 让我们构建应用程序并准备部署 打包您的代码并将其上传到,更新模板中的链接。 将写入更新的模板的文件。 将加载工件的存储桶。

 

此命令准备部署所需的一切,并生成指向中的工件的更新模板。 您可以手动检查部署以确保一切正常 将您的应用程序部署到。 将创建或更新的堆栈的名称。 我们确认创建了该功能运行所需的角色。 部署成功后,您将收到一个用于调用该函数的。尝试调用它并确保它按预期工作。 设置存储库 为了实现自动化,您需要一个存储代码的存储库。 在项目的根目录中,我们初始化存储库 这使 电话号码库 您可以跟踪代码中的更改并将版本控制系统与管道集成。 让我们在上创建一个新存储库并将其链接到本地​​存储库 现在,代码可在远程存储库中使用,您可以根据对其所做的更改设置自动化。 设置 将负责构建和测试应用程序。 让我们在项目根目录中创建一个包含以下内容的文件 在文件中我们添加 ! 这是一个简单的测试,用于检查函数响应的正确性。

电话号码库

个具有基本函数的项目结

让我们创建一个文件并需的。 设置 现在让我们设置管道本身,它将自动执行从提交到部署的过程。 转到控制台并创建一个新管道。 设置步骤 管道设置 姓名。 服务角色创建一个新角色或使用具有必要权限的现有角色。 添加源阶段 来源提供 我们什么时候应该选择定制软件?它有什么优势? 者。 连接到提供对您的存储库的访问权限。 存储库选择一个存储库。 分支。 添加构建阶段 构建提供商。 项目配置创建一个新项目。

添加 这是构建阶段安装所必

环境 托管映像我们使用标准映像。 运行时。 从存储库中使用。 添加部署阶段 部署提供商。 操作模式创建或更新堆栈。 堆栈名称 模板。 能力检查。 设置管道后,保存。 我们来修改一下代码,例如更新函数中的消息 ! 让我们提交并推送更改 我们转到并确保管道已自动启动并完成所有阶段。 配置和用环境变量和服务来管理设置和机密。

机密管理 我们建议使

让我们更新以将环境变量传递给函数 ! 在函数代码中你可以得到一个变量 ! 现在,我们使用来存储机密和敏感数据。 访问代码中的参数 角色 B2C传真 必须拥有这可以通过向功能角色添加适当的策略来完成。 监控快速发现错误非常重要。 在文件的开头我们添加 在函数内部我们使用这将记录可以在中查看的日志。 让我们更新以启用 允许您收集函数性能数据创建跟踪并可视化应用程序中的数据流。

和记录 能够监控功能并

错误处理 将代码的重要部分包装在异常捕获块中 ! 这将允许您在日志中记录错误,并在必要时再次调用该函数。 在添加回调参数 ! 这将允许在出现错误时自动重复该功能。 结论 如果您有任何疑问或想分享您的经验,请写在评论中。 今天会有一堂公开课云解决方案架构师职位模拟面试——我们将讨论如何自信地通过面试的各个阶段。如果相关,请在云解决方案架构课程页面上报名参加课程。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注