药师帮是专注于医药智慧供应链的综合服务平台,而掌店易项目是负责其中药店 ERP 系统这一环节的,为全国药店搭建基础设施,提供增效减本的 SaaS 解决方案。
从 2015 年起,药师帮公司内部逐渐形成了自己的研发体系,其中包括开发,部署,测试,上线等一系列流程。近两年起步的掌电易项目,自然继承了公司内部的这套流程,并基于原有的流程上,进一步优化扩展
都说工欲善其事必先利其器,好的工具是解决问题的关键,所以对持续性交付解决方案的利器选型就至关重要了。
一开始从身边同事渠道,和网友渠道,一致推荐使用 Jenkins 那套自动化部署流程,都说它是持续集成界的神器,你想用它干啥都行。 公司内部还有一个部门在使用 GitLab 的 CI/CD,直接完成代码提交后触发不同条件下的发布部署流程,加上它新版的交互界面和统计界面做的比较优美,让人看的垂涎欲滴,欲罢不能啊。
可是,否定 Jenkins 我个人找了两个理由,一个是界面真的太丑,交互真的太影响心情了,另一个是它需要每个项目里维护一个 Jenkins 流程脚本。 否定 GitLab CI/CD 的原因同样是因为它需要在项目里维护一个 gitlab-ci.yml 的配置文件,和代码项目"耦合"是我个人不能接受这两个方案的最主要原因。
于是在知乎上翻找关于 "devops" 的所有文章,偶然间看到这篇 字节和腾讯都在使用,DevOps工具Zadig究竟有何魔力 - 知乎 (zhihu.com),文章里的几个界面截图直接告诉了我的直觉,这就是我脑海中一直想要的解决方案。 于是。。。。。。
在其他产品上是很少见到这种多渠道,点对点沟通解决处理产品问题的思路的。 说实话,当初被 Zadig "找上门",专门拉了个群,还建了个飞书问题跟进文档,还远程语音沟通问题点,真的是受宠若惊的感觉呀!极少有的一种用户的反馈被产品重视的感觉~
起步学习 Zadig 时,非常建议先看一遍官方文档,第一次可以先简单从头到尾过一遍,心里大概有个底,涉及到哪些操作步骤,操作流程,有哪些功能,可以解决自己的哪些痛点。 因为本人遇到比较尴尬的一件事情是,当一键安装好 Zadig,就一头扎进去使用了,刚开始连环境,服务,构建这几个先创建哪个都搞不清楚,自己摸索会遇到一些没必要浪费时间的坑的,也许文档上一句话就解决了困扰自己半天的疑惑。
具体落地还是要从开发服和测试服启动,目前已经通过 Zadig 完成开发和测试两个支线的持续交付流程。
后续规划在正式服上搭建一套 Zadig 环境,并打通开发/测试两个环境,统一一套 Zadig 解决三个环境下的持续交付流程。 计划正式服的发布是已经经过测试组充分检验过,没有问题的交付物进行发布,而不需要再经过一轮拉取代码,编译打包的工作流程了。
目前测试中心和交付中心两个模块还没有深入使用,也是后续的规划方向。
预计后面正式服落地后,会在公司内部其他团队做一次分享,毕竟独乐乐不如众乐乐嘛。 技术预研期间已和其他项目技术人员沟通过关于 DevOps 这方面的干货,向他们推荐 Zadig,大家都很是期待。
Zadig 打通了代码仓库、镜像仓库、K8s 服务集群,实现了研发人员和测试人员之间的无缝联动,自从上了 Zadig 后,之前的痛点都不再痛了 ^_^
|