我们有遇到一个技术问题,就是在使用SeverlessDevs的时候,不知道如何去参数化不同环境(dev/test/pro),用一套模版适配多种环境,请问怎么实现呢?
我们有遇到一个技术问题,就是在使用SeverlessDevs的时候,不知道如何去参数化不同环境(de[阿里云Serverless]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
我们有遇到一个技术问题,就是在使用SeverlessDevs的时候,不知道如何去参数化不同环境(dev/test/pro),用一套模版适配多种环境,请问怎么实现呢?
2020年11月份,阿里云智能开源了Serverless 社区的开发者工具Serverless Devs(后简称S) 弥补了国内在Serverless 开发者工具的一个空白。通过高度灵活的配置设定,实现了无厂商锁定的支持;直观易懂的可视化配套也带来了极致的开发者使用体验。
Serverless Devs 是一款面向 Serverless 应用全生命周期的管理工具,其模型规范中存在应用和服务的概念,但目前缺少对环境的内在支持,代码+基础设施共同维护在一个 s.yaml 下。
在使用ServerlessDevs进行部署时,我们可以使用动态配置、环境变量等技术实现参数化不同环境,使用一套模板适配多种环境的部署方式。具体实现如下:
在配置文件中,我们可以使用类似{{env}}这样的变量占位符,用具体的环境值替换。例如:
这样我们就可以通过指定不同的环境值,实现参数化部署到不同的环境。
在许多场景下,通过设置环境变量来传递参数是更加方便的一种方式。ServerlessDevs也支持在命令行中设置环境变量。例如:
这样就可以在部署过程中,将env变量的值替换为dev,达到适配dev环境的目的。
通过上述方式,我们可以实现一套模板适配多种环境的部署。实际使用时,我们可以根据实际情况,选择适合自己需求的方式进行参数化配置。
可以配置不同环境变量,参考这个:https://docs.serverless-devs.com/fc/command/env
此答案来自钉钉群“Serverless 开发者技术学习群”
楼主你好,你可以采用分层的模板化方案,即: 平台管理员将网络、日志服务、存储、数据库等基础设施资源根据测试/生产隔离的要求,封装成环境模板;
将阿里云函数计算函数、Serverless 应用引擎应用封装成服务模板; 将 CI/CD 的基础流程封装成流水线模板;
平台管理员持有子账号选择环境模板创建不同的测试、预发、生产环境,然后授予研发子账号访问权限,或者授予研发写权限来自助创建环境;
开发人员选择流水线模板,通过主动触发或者代码提交自动触发 CI/CD 的执行。