电子商务|再见了,我的散装研发管理平台;再见了,4台 ECS( 二 )


部署成本高:因为需要安装的软件产品多 , 部署成本较高 新架构:云效全家桶 在决定使用云效全家桶之后 , 接下来要做的就是对老架构中用到的各个产品找到替代的解决方案 。 下面跟着我的调研使用步骤 , 来看看这一个个产品的对应关系吧!
代码仓库
代码仓库在云效的解决方案中是一个名为云效Codeup 的产品 , 产品地址:https://codeup.aliyun.com/。 如果你跟我一样 , 是要做仓库迁移的话 , 非常简单 。 如下图所示 , Codeup 为各种常用平台都提供了专用的导入方式 , 对 Git 管理不是特别熟悉的小伙伴也可以根据提示轻松的完成代码仓库的迁移 。

在点击“导入代码库”之后 , 我们可以看到下图界面 , 基本上常用的一些 Git 管理平台都已经支持 , 选择你要迁移的源平台 , 然后根据官网文档 , 找到对应平台需要获取的认证方式做好配置即可 。

在完成认证信息配置好之后 , Codeup 就会从对应的平台获取所有项目仓库 , 接下来只需要逐个选择你要导入的仓库点击“导入”按钮 , 就能轻松完成代码的迁移 。

这块比较简单 , 基本所有的 Git 管理平台都可以支持类似的迁移操作 。 也不算特别的亮点吧 , 光从代码管理上来说 , 主要贡献就是为这次的改造计划节省了一台 ECS 。
持续集成
完成了代码迁移之后 , 接下来开整持续集成部分 , 对应的产品是云效 Flow , 产品地址是:https://flow.aliyun.com/ 。

在云效 Flow中创建 CI/CD 的流水线非常简单 , 因为它提供了各个主流开发语言的多种持续集成案例的配置模版 。

这里我尝试了配置一个 Spring Boot 后端应用部署到 ECS 上 , 只需要选择上图中的第一个推荐模版 。 就会出现如下图的流水线配置界面 , 点击每个步骤都可以进行细节配置

点击每个步骤都可以进行细节配置 , 比如:如何用 maven 命令构建 , 如何上传制品

在部署操作上 , 因为与阿里云的结合 , 可以很方便的关联到账号下的资源来选择部署 , 所以你就不用自己维护服务器清单了 , 特别方便!

那么这个流水线功能是否能满足云原生应用一次构建多处部署的特性呢?下面我也尝试做了一下 , 大致流程就是:在 test 环境 , 做构建、上传制品、部署;在 pre 环境 , 做选择制品、部署;在 pro 环境 , 做选址执行、部署 。 模拟了一下这种比较常见的 CI/CD 管理流程 。

如上图所示 , 是可以满足的 。 这也已经满足了我这边的持续集成要求 。 不过这里在流水线串联 , 想要实现选择制品这一步上 , 支持的用户体验还不是特别好 , 花了我一些配置和咨询的时间才完成 。 据悉这部分体验优化马上在 9 月 15 日版本也会优化!迭代很快 , 非常给力!
这里值得一提的是 , 在云效 Flow 中所提供的各种操作模版是非常适应于我们国内用户的 , 比如:可以看看我在 test 环境的流程细节 , 这里增加了代码扫描 , 里面就涵盖了阿里巴巴代码规约的检查报告等 。

而对于通知提醒也是非常符合国内开发团队的管理特点 , 提供了钉钉、企业微信、飞书这些国内才常用的软件支持 。

好了 , 通过云效 Flow , 又帮我节省了一台 Jenkins 的 ECS 。
管理门户 在讲老架构的时候 , 我提到了使用 JIRA 的重要原因是要将其作为整个研发管理的门户 , 因为他可以整合其他所有周边设施 。 比如:任务的管理、持续集成的触发等等 。 那么在云效全家桶中 , 是否有扮演这样角色的产品呢?作为一站式的解决方案 , 必须得安排上 , 对应的产品就是 云效DevOps , 产品地址:https://devops.aliyun.com/。