接前面Gitlab与Gerrit,了解一下DevOps...
DevOps
DevOps是Development和Operations两个词的组合。它的英文发音是 /de'vɒps/。
有两个词经常会伴随着DevOps出现,那就是CI和CD。CI是Continuous Integration(持续集成),而CD对应多个英文,Continuous Delivery(持续交付)或Continuous Deployment(持续部署)。
DevOps与瀑布和敏捷
特点 | 瀑布模型 | 敏捷方法 | DevOps |
---|---|---|---|
开发过程 | 线性顺序 | 迭代和增量 | 持续集成和持续交付 |
灵活性 | 低 | 高 | 高 |
用户参与 | 低 | 高 | 高 |
文档 | 详细 | 简略 | 自动化文档 |
交付周期 | 长 | 短 | 短 |
风险管理 | 集中 | 分散 | 分散 |
团队协作 | 开发和运维分离 | 开发团队协作 | 开发和运维一体化 |
适用项目 | 需求明确且稳定的小型项目 | 需求可能变化的中大型项目 | 需要快速交付和高稳定性的项目 |
与瀑布式开发和敏捷开发相比,将开发(Development)和运维(Operations)紧密结合,强调协作和自动化。DevOps贯穿了软件全生命周期,而不仅限于开发阶段。
图片来源: x.com
图片来源:To Agile or To DevOps | LinkedIn
DevOps工具
DevOps各阶段,涉及到的工具太多了...
Gitlab
Gitlab 开发于2011年,2012年开始开发 Gitlab-CI。从Gitlab 8.0版本开始,CI集成进Gitlab中(2015年)。
- Use CI/CD to build your application | GitLab
- Install GitLab Runner | GitLab
- CI/CD development guidelines | GitLab
- https://about.gitlab.com/releases/2015/09/22/gitlab-8-0-released/
关于Jenkins与GitLab CI,两个都免费可以本地部署,前者发力早,后者官方出品与Gitlab集成更好。
Github
Github 在2018年被微软收购后,发布了github actions!!!
- Features • GitHub Actions · GitHub
- https://zhuanlan.zhihu.com/p/647970282
- GitHub免费支持CI/CD了,开发测试部署高度自动化,支持各种语言,网友:第三方凉凉...-CSDN博客
在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 不了解