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