Serverless Framework Pro 版是个 SaaS 应用,是个托管的 Dashboard。
本文主要实践 Serverless Framework Pro 的 CI/CD 功能。
本文来源: ServerlessLife 公众号
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 流程。
往 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 页面也可以看到部署记录,预览部署截图如下:
遇到的问题以及思考:
本文实践了如何在 Serverless Dashboard 配置 CI/CD,以及通过代码提交或 Pull Request 事件触发 CI/CD,完整体验了 CI/CD 流程。 最后提出自己的一些观点。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。