前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Serverless Framework Pro 实践之 CI/CD

Serverless Framework Pro 实践之 CI/CD

原创
作者头像
donghui
修改2021-03-23 14:27:42
9440
修改2021-03-23 14:27:42
举报
文章被收录于专栏:donghui的博客

Serverless Framework Pro 版是个 SaaS 应用,是个托管的 Dashboard。

本文主要实践 Serverless Framework Pro 的 CI/CD 功能。

本文来源: ServerlessLife 公众号

配置 CI/CD 功能

CI/CD 功能是 Service 级别的,点击 Service 处的 settings 开始配置:

CI/CD 一边连接的是 Git 代码平台(目前支持 GitHub 和 BitBucket),另一边连接的是云服务(目前仅支持 AWS)。

代码工具这里选择 GitHub,点击 connect,会弹出一个对话框,需要 GitHub 进行授权,

授权后会在 GitHub 用户下安装 Serverless app:

在 git 和 aws 配置好后,选择代码仓库和 base 目录:

构建设置中,可以选择部署到哪个 region,也可以配置指定文件变化时才触发构建:

分支部署中,可以指定哪个分支部署到哪个 stage

(注意:branch 和 stage 都必须是目前存在的,如果新增了分支,就必须手动修改配置):

预览部署,可以在创建 PR 时,自动部署一个环境,以便预览。

这个环境所在的 stage 名称和分支名称一样(注意:这里需要考虑预览环境和分支环境是否会覆盖的问题)

可以选择在分支删除时,删除对应的 stage 和资源;

也可以选择部署到指定的 stage,但是如果有多个到 master 分支的 PR,环境会互相覆盖。

通知支持在部署开始、结束时,发送一些消息:

触发 CI/CD,查看运行情况

根据上面配置的规则,让我们看下整个 CI/CD 流程。

往 dev 分支提交一下代码,便会自动部署到 stage: dev-stage;

创建一个 到 dev 分支到 master 分支的 Pull Request,便会自动部署到 stage:dev ;

合并这个 Pull Request 到 master 分支便会将 master 分支部署到 stage:prod;

合并 Pull Request 后删除 dev 分支,便会删除 stage:dev 和对应资源。

点击 Serverless Dashboard 左侧 ci/cd 菜单,CI/CD 部署记录截图如下:

在每个 stage 的 deploys 页面,也可以看到部署记录:

GitHub 提交记录处,可以看到 CI/CD 部署记录链接,点击便可跳转到 Serverless Dashboard 页面:

此外,GitHub PR 页面也可以看到部署记录,预览部署截图如下:

问题与思考

遇到的问题以及思考:

  • 代码仓库下拉菜单无法获取某个 GitHub 组下面的仓库
  • 官方博客推荐将不同的 stage 部署到不同的 aws 账户下,做到资源安全隔离。但是目前 Serverless Dashboard 并不支持不同的 stage 绑定不同的 aws provider。
  • CI/CD 比较基础,无法做一些定制化操作。

总结

本文实践了如何在 Serverless Dashboard 配置 CI/CD,以及通过代码提交或 Pull Request 事件触发 CI/CD,完整体验了 CI/CD 流程。 最后提出自己的一些观点。

参考

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置 CI/CD 功能
  • 触发 CI/CD,查看运行情况
  • 问题与思考
  • 总结
  • 参考
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档