首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在无服务器框架中分离我的代码和基础设施吗?

可以在无服务器框架中分离我的代码和基础设施吗?
EN

Stack Overflow用户
提问于 2018-10-15 20:41:21
回答 1查看 395关注 0票数 0

可以在无服务器框架中分离我的代码和基础设施吗?

我正在使用无服务器框架(https://serverless.com)来部署我的亚马逊网络服务资源。我有一个在serverless.yml文件中定义的lambda函数,如下所示:

代码语言:javascript
复制
functions:
   hello:
   handler: handler.hello
   ...

现在,我想将我的基础架构(serverless.yml)与我的代码分开。将有两个独立的git项目:一个用于基础设施,另一个用于lambda (代码部分)。

这将是开发流程:在lambda项目(git merge)中所做的更改将触发CI/CD管道来提取代码、执行必要的检查(提示、测试等)并将lambda部署到s3存储桶中。

在此之后,我可以包含s3作为我的lambda函数的源代码,并使用包含更改的函数更新堆栈。如下所示:

代码语言:javascript
复制
functions:
   hello:
   handler: function-s3-location
   ...

我的问题:

1)这是一种好的CI/CD方法吗?

2)是否可以使用无服务器框架,或者只能使用AWS::Lambda::Function的代码属性来指定s3存储桶?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-10-16 07:40:15

不管你的决定如何,最终,这都将是一个架构决策,应该考虑到过程、团队经验、文化、架构知识等。

为了给你一点洞察力,你可以将你的项目组织成你在文件夹中的函数和在diff文件夹中的任何其他模块。您需要注意的是,您在配置文件中定义了"package.include“和/或"package.exclude”。

此外,如果您所说的结构指的是所有的CloudFormation资源,那么在您的serverless.yml配置文件中有一个对应的部分。如果它开始变得太大,您可以使用额外的配置文件并将其导入到serverless.yml中

例如:

代码语言:javascript
复制
├── config //configs based on your stage
 ├── dev.json
 ├── prod.json
├── functions
 ├── functionsA
  ├── index.js
 ├── functionsB
  ├── index.js
├── tests
 ├── unit.test.js
├── package.json
├── serverless.yml
├── serverless.resources.yml

将所有内容放在一个repo中的好处:

  • 您将所有资源保留在同一项目下,这意味着如果您"sls
  • “,该命令将负责删除您的所有资源。对于lambda也是如此。对于新的团队成员来说,理解你的architecture.
  • You是很容易的,因为你有了启动

的本地实例和执行集成测试所需的所有代码。如果你不想更新你的云,together.

  • Serverless提供商将会管理你所有资源之间的绑定,如果你不想更新你的云architecture.
  • The
  • 将会管理你所有资源之间的绑定,如果你不想更新你的云,
  • 你将不需要管理这2个资源库来评估它们是“行走”的允许你只推送/部署功能。例如:您不必管理阶段设备上的apiGateway,应该调用指向DV DB或包含值为DEV的环境变量的lambda。
  • 您自己的手动管理越少越好。

我希望这些理由足以让你做出决定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52817039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档