如何做到精通GitLab CI/CD?

举报
拿我格子衫来 发表于 2022/04/29 19:29:18 2022/04/29
【摘要】 前言最近有几个朋友总是问我,博主,你帮我看一看我的流水线,写的规范不规范,符不符合最佳实践。博主该这么学习GitLab CI/CD,有没有什么学习路线?博主这个东西学多久才能像你一样优秀?大家都比较关心这个东西的学习成本,以及学习后的效益如何。本篇文章就来为大家解答一下这些问题。 如何做到精通GitLab CI/CD?效益很多读者关心的一个问题,虽然他们没有直接问效益这个问题,但从他们的问...

前言

最近有几个朋友总是问我,博主,你帮我看一看我的流水线,写的规范不规范,符不符合最佳实践。博主该这么学习GitLab CI/CD,有没有什么学习路线?博主这个东西学多久才能像你一样优秀?大家都比较关心这个东西的学习成本,以及学习后的效益如何。本篇文章就来为大家解答一下这些问题。

如何做到精通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执行器无法使用imageservice两个关键词。了解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场景
实践足够多的场景,并能够针对复杂,未曾接触过的场景提出自己的见解和技术方案。

最佳实践

在学习的过程一定要多思考,官方设计这个关键词是为了解决什么问题,有哪些用处,什么情况下需要,和哪些关键词能够搭配干活。

后记

不是我吹牛,看完我的GitLab CI/CD专栏后,你肯定能达到中级的水平。
祝大家在GitLab CI/CD的世界里玩的愉快。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。