前言
- 使用云效前的原因在于: 免费
- 使用云效后的原因在于: 简单,方便,快速,免费
传统持续集成架构
- 代码仓库: GitLab
- 持续集成: jenkins
- 文档管理: showdoc
- 任务管理: 禅道
- 2020年由于公司项目需要进行重构,需要重新搭建一套cicd的环境,这时候刚好遇到阿里云云效推广,免费进行使用, 本着免费的原则,就进行了使用, 首先接触的就是云效的代码管理codeup(之前使用的code,后来云效对这块进行了升级, 到现在的codeup),目前来说,我们重度使用了代码仓库,制品管理,流水线这些功能,配合阿里云的k8s平台,完成整个生产环境的部署
codeup介绍
- 如果你使用过同类型的git管理仓库,简单查看codup文档就基本可以直接上手操作, 详细可以参考云效官方文档: https://help.aliyun.com/document_detail/224581.html
- 此外云效codeup对权限和认证已经人员管理进行更加人性化的控制, 可以对开发人员进行更加细致个控制,以及行为管理,以及ip白名单进行限制,而且操作更加简单
- codeup的使用跟同类git管理平台操作都类似,几乎没有什么难度
流水线
- 因为我们公司属于小型企业,使用的功能都是常用的,几乎不存在什么额外的步骤来对项目进行处理, 逻辑都是常用-拉取代码---》打包--》生成镜像---》部署---》备份
- 所以可以直接使用流水线进行对项目的持续部署
- 使用流水线的好处在于不需要额外搭建环境,和构建语言,直接通过你所需要的步骤一步一步操作即可,
代码源
这里直接根据文字提示直接选择相应的代码仓库,我喜欢的功能就是代码触发,而且还可以分支和标签进行触发,目前我所搭建测试环境都是选择分支进行自动跟新代码,跟新完成后通过钉钉提醒开发,跟新完成
构建
- 最方面的在于流水线已经提供了各种语言的构建,不需要像jenkins那样添加语言设置环境变量。
- 然后将构建物上传,这里可以选择你需要的文件,后续我还使用了钉钉通知插件,如果失败了进行更改,
主机部署
这里需要提前关联主机组,直接点击新建进行关联ecs服务器即可(如果是腾讯或者华为云也可以进行关联),然后选择下载路径,执行用户,已经脚本进行部署, 最后也选择任务插件,成功部署通知钉钉
回滚
- 流水线会记录所有的部署包,方便进行回滚操作, 点击回滚,选择对于的部署记录,就可以快速的进行回滚
总结:
- 通过云效流水线,你可以快速的对项目进行持续部署,不需要额外的搭建环境,语言,只关注代码本身,而不需要再对代码的部署进行维护
- 云效流水线提供了很多的功能, 包括质量检查,变量和缓存,人工卡点,提供了丰富的模板可以直接使用,也可以自己创建模板
- 此外云效还提供了制品仓库,测试管理,云端开发,以及效能洞察,全套的devops,如果需要使用其他的功能可以参考官方文档:https://help.aliyun.com/product/150040.html
- 对于小型的企业来说,完全够用,而且官方还提供了专门的钉钉群进行问题讲解,钉钉群号: 30410912