AWS Lambda 配合Jenkins实现自动化持续部署

Posted 深圳敏捷云计算科技有限公司

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS Lambda 配合Jenkins实现自动化持续部署相关的知识,希望对你有一定的参考价值。


大咖专栏

大咖专栏主要刊登 AWS 诸位大咖亲自撰写的 Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!


今天为大家撰文的大咖,是我们的 AWS 解决方案架构师——李亚斯


AWS Lambda 配合Jenkins实现自动化持续部署

李亚斯

AWS 解决方案架构师

李亚斯负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内的应用和推广,毕业于同济大学软件工程专业,毕业后直接加入亚马逊AWS 中国。熟悉多种编程语言,有数年的 C语言经验,在移动开发,IoT 等方面有丰富的经验。


AWS Lambda 是 AWS 无服务器框架中的重要组成部分,而开发、测试和部署 Lambda 函数需要经过一个较为枯燥的过程:在集成开发环境(IDE)中编写函数,然后将其打包,并上传到 AWS 使用控制台进行测试。事实上,您可以在本地进行编写测试,并将其上传到自己的代码库,然后使用 CICD(Continuous Integration/Continuous Development)工具来进行集成部署。本文中将介绍如何使用 Jenkins 在 AWS上进行 Lambda 开发部署 ——


架构图

AWS Lambda 配合Jenkins实现自动化持续部署

1.  通过 git 命令提交代码

2.  通过部署在 EC2 中的 Jenkins 拉取 Github 上的代码

3.  将代码部署到 Lambda,完成代码部署

4.  上传一张图片到 S3

5.  触发 S3 的 ObjectCreate 事件,调用 Lambda 生成缩略图

6.  将生成的缩略图储存到指定位置


创建 Lambda

从控制台进入 Lambda,选择从头开始创作

●  输入 Lambda 名称

●  选择从模板创建新角色

●  点击创建函数

●  记录已创建 Lambda 函数的 ARN,位于 Lambda函数右上角


AWS Lambda 配合Jenkins实现自动化持续部署
AWS Lambda 配合Jenkins实现自动化持续部署


修改处理程序为 CreateThumbnail.handler


AWS Lambda 配合Jenkins实现自动化持续部署


创建S3存储桶

从控制台进入 S3 创建存储桶,输入自定义桶名,这边需要创建两个存储桶,一个是源数据桶,另一个是目标数据桶。

源存储桶


AWS Lambda 配合Jenkins实现自动化持续部署


目标桶


AWS Lambda 配合Jenkins实现自动化持续部署

进入源存储桶,并选中属性标签

选中高级设置中的事件,按照以下顺序依次操作并保存

●  添加通知

●  输入名称

●  配置事件类型,及 Lambda 函数



以上是关于AWS Lambda 配合Jenkins实现自动化持续部署的主要内容,如果未能解决你的问题,请参考以下文章

AWS Lambda 自动化和 Python - 自动创建S3 Bucket lifecycle

从不同账户部署 AWS Lambda

AWS 征文AWS Lambda 自动拷贝EC2 快照

从AWS API-Gateway中找出lambda名称

Lambda,AWS和Python的自动化管理操作

AWS Beanstalk - 创建新环境时向 Lambda 发送 SNS 通知