1、持续集成概述及运行流程
1.1、持续集成概述
持续集成:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并进行自动化测试。Ci
持续交付:持续交付指的是在持续集成的环境基础上,将代码部署到预生产环境。CD
持续部署:在持续交付的基础上,把代码部署到生产环境的过程自动化。CD
持续部署:在持续交付的基础上,把代码部署到生产环境的过程自动化。CD、
1.2 jenkins概述
Jenkins 概述:是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
官方网站:https://jenkins.io/
1.3 GitLab 概述:
- gitab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web界面进行访问公开的或者私人项目。Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。
- GitLab拥有与Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
官网:https://about.gitlab.com
1..4 GitLab 和 GitHub 的区别
- 相同点:
- 两者都是基于 web 的 Git 仓库,在很大程度上 GitLab 是仿照 GitHub 来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化于存储的场所。
不同点:
- 、GitHub 如果要使用私有仓库,超过4个是需要付费的。GitLab 可以在上面创建私人的免费仓库。
- GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个 project 的部分代码;允许用户设置 project 的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过 innersourcing 让不在权限范围内的人访问不到该资源。
- 总结:从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候 GitLab 无疑是更好的选择。但对于开源项目而言,GitHub 依然是代码托管的首选。