1+1=10

记记笔记,放松一下...

GitLab与DevOps小记

接前面Gitlab与Gerrit,了解一下DevOps...

DevOps

DevOps是Development和Operations两个词的组合。它的英文发音是 /de'vɒps/。

DevOps-Life-Cycle

有两个词经常会伴随着DevOps出现,那就是CI和CD。CI是Continuous Integration(持续集成),而CD对应多个英文,Continuous Delivery(持续交付)或Continuous Deployment(持续部署)。

DevOps与瀑布和敏捷

特点 瀑布模型 敏捷方法 DevOps
开发过程 线性顺序 迭代和增量 持续集成和持续交付
灵活性
用户参与
文档 详细 简略 自动化文档
交付周期
风险管理 集中 分散 分散
团队协作 开发和运维分离 开发团队协作 开发和运维一体化
适用项目 需求明确且稳定的小型项目 需求可能变化的中大型项目 需要快速交付和高稳定性的项目

与瀑布式开发和敏捷开发相比,将开发(Development)和运维(Operations)紧密结合,强调协作和自动化。DevOps贯穿了软件全生命周期,而不仅限于开发阶段。

devops-agile-devops

图片来源: x.com

devops-agile-devops-2

图片来源:To Agile or To DevOps | LinkedIn

DevOps工具

DevOps各阶段,涉及到的工具太多了...

DevOps-Tools

Gitlab

gitlab-ci-workflow.pngGitlab 开发于2011年,2012年开始开发 Gitlab-CI。从Gitlab 8.0版本开始,CI集成进Gitlab中(2015年)。

关于Jenkins与GitLab CI,两个都免费可以本地部署,前者发力早,后者官方出品与Gitlab集成更好。

Github

Github 在2018年被微软收购后,发布了github actions!!!

在Github Actions之前,2017年有人汇总github中10大 CI工具  GitHub welcomes all CI tools - The GitHub Blog

前四位是:

  • Travis CI
  • Circle CI
  • Jenkins
  • AppVeyor

Travis CI 已经没有免费版本(只有刚注册第一个月有免费的点数)。

Circle CI每个月有免费的分钟数

Jenkins 免费,需要自行部署

AppVeyor 不了解

参考

Tools Git