本专栏由CSDN@拿我格子衫来
创作,版权所属,转载需获得本人授权。侵权必究。
此平台的文章不再更新,如要获取最新版,点击此处前往
最近有几个朋友总是问我,博主,你帮我看一看我的流水线,写的规范不规范,符不符合最佳实践。博主该这么学习GitLab CI/CD,有没有什么学习路线?博主这个东西学多久才能像你一样优秀?大家都比较关心这个东西的学习成本,以及学习后的效益如何。本篇文章就来为大家解答一下这些问题。
效益很多读者关心的一个问题,虽然他们没有直接问效益这个问题,但从他们的问题中我可以得出这个的一个结论。如果这个东西需要学一个月才能真正把CI/CD整套流程搞定,那我就觉还是尽早放弃比较好。
从我这个前端开发者的角度来说,GitLab CI/CD是一个非常对新手友好,学习成本很低的工具。
首先GitLab 与GitLab Runner都可以使用一句Docker命令部署,有了自己的环境就可以随便折腾。大大降低了搭建环境的成本。
其次在编写流水线时GitLab 提供了实时检验的Pipeline Editor,能够实时指出你的代码的错误,
最后英文文档编写的很优秀。各种场景,细节,都有描述。
虽然GitLab 做的已经很好了,但对于一些人来说,依然学习起来比较吃力,没有明确路线和
方向。下面我就给大家详细讲解一下学习路线和如何理解理论知识与实践。
经过长时间的培训和指导新人,我总结出了一条曲线比较平缓的学习路线。
第一步: 熟悉GitLab CI/CD的基本概念
在这一步你需要知道流水线pipeline,阶段stage,作业job,GitLab Runner,执行器等概念。
需要流水线的组成部分由那些,使用什么编写内容,GitLab 中有关CI/CD的设置在哪里
第二步: 搭建并配置基础的GitLab CI/CD环境
基于上一步的概念,你需要搭建一套自己的实验环境,并了解其中的一些基础,常用配置。一些基础配置,比如配置Dokcer in Docker,配置挂载宿主机目录到流水线环境中。需要了解一些各个执行器之间比较大的区别。比如shell执行器无法使用image
与service
两个关键词。了解GitLab Runner和执行器对于排查问题,为特定业务制定方案特别有帮助。
第三步: 熟悉流水线常用的关键词
搭建好环境后,你需要开始拿简单的项目实践,使用常见的,基础的关键词,实现流水线。满足基本的业务需求。将一些手动的任务改为自动。CI和CD的方法有很多,各种语言,各种库,以及各种部署场景,现在的你只需要针对眼前的需求,实现目前最简单的要求。基础常用的关键词大概有这些。
第一部分 拿我格子衫来所有
1:script,before_script, after_script
2:stages,stage
3:cache,artifacts
4:tags,image,when
5:variables
当然这只是作者的经验之谈,个人情况会有所不同。这一步学习知识理论,下一步实践。
第四步: 编写简单的流水线
这一步你需要多写,熟悉在GitLab中编写流水线,知道到哪里查CI/CD的信息。
第五步: 熟悉高级GitLab Runner 配置
熟悉高级配置,比如配置在线调试,日记等级,多种方式安装,更新GitLab Runner。。。
第六步: 熟悉高级关键词
// 第二部分 拿我格子衫来所有
6: coverage,allow_failure,retry
7: extends,interruptible
8: default,inherit
9: needs,pages,dependencies
10: parallel,timeout,
11: release
// 第三部分 拿我格子衫来所有
rules
workflow
trigger
include
resource_group
environment
services
第七步: 实践更为复杂的CI/CD场景
实践足够多的场景,并能够针对复杂,未曾接触过的场景提出自己的见解和技术方案。在该阶段你应该知道父子流水线,跨项目流水线,MR流水线等各种复杂场景的实现,以及优化。
在学习的过程一定要多思考,官方设计这个关键词是为了解决什么问题,有哪些用处,什么情况下需要,和哪些关键词能够搭配干活。
不是我吹牛,看完我的GitLab CI/CD专栏后,你肯定能达到中级的水平。
最好的学习是教学,如果你能把别人教会,那你已经很成功了。另外就是如果你认同它的价值,并对它充满热情,那么学习起来将事半功倍。
祝大家在GitLab CI/CD的世界里玩的愉快。