rancher+gitlab+appveyor 实现 CI/CD 流水线(汇总)

fengwuxichen 2019-12-25

rancher+gitlab+appveyor 实现 CI/CD 流水线

  • 本文主要是做一些汇总,将近期接触并弄好的一些工具整合起来,弄一套流水线,减轻一定工作压力

工具介绍

  • 所有的组件都是使用 docker 跑的,所以一款好用的 docker 的 ui 管理工具很重要,那就是rancher。这里只是用来管理一些工具,有点屈才了
  • 项目代码托管使用 gitlab,其内置了 CI/CD,成套使用,非常方便
  • appveyor 也是一个 CI/CD 解决方案,基于asp.net core开发。其内置 nuget server,这里只用到 nuget 包管理,CI/CD 的工作交给gitlab-runner

相关教程

感想

  • 从今年开始,陆陆续续接触 docker,寻找最佳切入点,幸遇 rancher,一个很好用的 docker 集群管理工具。其实一开始只是想要个管理工具,填写镜像、设置端口、设置数据卷等,操作更加方便,还有备份数据什么的。使用的过程中发现,docker 对于快速部署,还原备份,快速验证一些技术都很给力,无论是生产使用还是个人使用,都很棒
  • 公司使用的源码管理是 svn,起初是由于迁就一小部分人,而后来的同事大都会 git,考虑迁移到 git。并且在一次小事故中,由于 svn 不是分布式的,独服务器一份版本记录,与本地的对不上,需要重新提交最后一次的代码,管理不当很容器造成损失。最要紧的是,由于历史原因,所有的项目都是在同一个目录,随着项目越来越多,这个库越来越大,也越来不好管理,迁移到 git 势在必行。既然要迁移,并考虑到以后的发展,与现代技术接轨,最好是 docker 部署,那 gitlab 是很好地选择

下一目标

  • 下一阶段就是要补齐上面所述实例,真正将这流水线用起来,发挥它应有的作用
  • 首先是添加前端项目的自动部署,一个难题是项目需要部署到 win 服务器,将在 linux 打包好的前端项目部署过去
  • 然后是授权中心,同一账号管理。新项目开发直接使用授权中心登陆,免去重复登陆麻烦

补充

  • rancher可以不使用,整个流水线跑起来只需要gitlab+gitlab-runner+docker

总结

  • 一路走来,以工作中可能用到的技术为指导,不断学习使用组合各种工具,尽可能提高工作效率,抽出更多时间学习更深层东西。感觉提高的不仅是学习能力,还有相应的思想提升
  • 在如今项目复杂度增加,技术应用越来越复杂的环境中,单单会一点技术是不够的。环境要求我们必须是个多面手,深入研究一门技术,其他作为拓展,横纵一起发展,才能从容应对

相关推荐