1、什么是CI/CD
持续集成(CI)
合并开发人员正在开发编写的所有代码的一种做法。
通常一天内进行多次合并和提交代码。
从存储库或生产环境中进行构建和自动化测试,以确保没有集成问题并及早发现任何问题。
尽快发现错误,减少集成问题,避免复杂问题
连续交付(CD)
通常可以通过将更改自动推送到发布系统来随时将软件发布到生产环境中。
持续部署会更进一步,并自动将更改推送到生产中。
尽每次更改都可以发布,降低每次发布风险,更加频繁交付价值,快速频繁客户反馈
2、Jenkins与GitLab对比
Jenkins
可扩展自动化服务器
安装配置简单
丰富的插件库
分布式架构设计
支持所有的平台
可视化的管理页面
GitLab
代码审查
问题追踪
动态订阅
易于扩展
项目wiki
多角色项目管理
项目代码在线阅览
CI工具集成
3、GitLabCI/CD特点
多平台 : Unix,Windows,MacOS和任何其他支持Go的平台上执行构建。
多语言 : 构建脚本是命令驱动的,并且可以与Java,PHP,Ruby,C和任何其他语言一起使用。
稳定构建 : 构建在与GitLab不同的机器上运行。
并行构建 : GitLab CI/CD在多台机器上拆分构建,以实现快速执行。
实时日志记录 : 合并请求中的链接将您带到动态更新的当前构建日志。
灵活的管道 : 您可以在每个阶段定义多个并行作业,并且可以触发其他构建。
版本管道 : 一个.gitlab-ci.yml文件,包含您的测试,整个过程的步骤,使每一个人都能贡献更改,并确保每一个分支获得所需的管道。
4、GitLabCI/CD组件
GitLab CI/CD
GitLab的一部分,GitLab是一个Web应用程序,具有将其状态存储在数据库中的API。
除了GItLab的所有功能之外,它还管理项目/构建提供一个不错的用户界面。
GitLab Runner
是一个处理构建的应用程序。
它可以单独部署,并通过API与GitLabCI/CD一起使用。
.gitlab-ci.yml
配置文件
为了运行测试,至少需要一个GitLab实例和一个GitLab Runner。
5、GItLabCI/CD工作原理
将代码托管到GIt存储库。
在项目根目录创建ci文件.gitlab.yml,在文件中指定构建,测试和部署脚本。
GitLab将检测到它并使用名GitLab Runner的工具运行脚本。
脚本被分组为作业,它们共同组成了一个管道。
评论区