GitLab CI/CD关键词解析系列

网友投稿 702 2022-05-29

用过GitLab CI/CD的同学都知道,GitLab CI/CD流水线的编写离不开官方提供的关键词。所有业务逻辑的实现都离不开他们。比如要规定一个作业在develop分支下运行,就可以使用when关键词来是实现。如下

deploy: script: echo fizz when: - develop

有关这些关键词的重要性这里就不再累述,它们就像流水线的语法一样,没有它们,开发者什么都做不了。

在最新的GitLab CI/CD的官方文档中,一共有35个关键词,其中有31个作业关键词分别是 after_script,allow_failure,artifacts,before_script,cache,coverage,dependencies,dast_configuration,environment,except,extends,image,inherit,interruptible,needs,only,pages,parallel,release,resource_group,retry,rules,script,secrets,services,stage,tags,timeout,trigger,variables,when。

此外还有5个全局关键词分别是 stages,workflow,include,default,variables。其中variables既是作业关键词,也是全局关键词。详细的英文文档可以点击此处查看。该页文档使用A4纸打印的话需要大约59页。此外还有一些详细的关键词解释被抽离到了单独的页面。可以说掌握了这一页的内容,GitLab CI/CD的知识就掌握了一半。由于该文档是纯英文版的,有些开发同学学习起来比较吃力。博主也经常遇得到一些读者前来咨询某个业务场景如何实现,某个关键词如何使用,与另一个关键词的区别,这类问题。近一年时间一直在忙着写稿和晋升准备,时间实在不多,但目前两件事都尘埃落定,我也有些时间好好来整理这些资料,分享给大家。

目前的计划出一个专栏《GitLab CI/CD关键词解析专栏》。专栏是免费分享给大家的,本来是有计划在掘金开一个付费专栏的,但思考后还是放弃了,为了让更多人使用中文教程来学习这项技术,本系列首发华为云,如有盗版将追究责任。

该专栏会对35个关键词逐一讲解,不仅仅是将英文文档翻译一篇,还有拿一些自己实践中编写的例子来扩展解析,争取能够面面俱到,当然由于本人技术有限,精力有限,做的不好的地方也请多多包涵。

博主之前是有写过三篇介绍所有关键词的文章,但写的非常简单。如下

GitLab CI/CD关键词解析系列

.gitlab-ci.yml关键词完整解析(一)

.gitlab-ci.yml关键词完整解析(二)

.gitlab-ci.yml关键词完整解析(三)

虽然写的很粗糙,但还是有9000多的阅读量和50个。这也是我再次精编该系列的原因之一,不想辜负其他人的学习热情。

该专栏会先撰写文字专栏 ,如果反响比较好的话,会在未来录制一个视频教程上传到B站供大家学习,提升自己。视频专栏会首发B站,欢迎大家关注我的B站GitLab CI/CD教程。

这些内容都是我利用业余时间制作的(满满的求生欲 : ))。

专栏的每一篇内容都会解析1到3个关键词。大约15篇左右,每一篇尽量避免太长和太短,影响阅读体验。如果有兴趣参与的同学也可以联系我。需要队友帮我review,校对,查阅资料。

借着这篇文章说一些题外话,我是一名前端开发者,之所以喜欢GitLab CI/CD是因为我对技术始终保持着热情,并且相信它们的价值。把时间花在GitLab CI/CD上而不是CSS,javaScript上,这一点也曾遭到很多人的质疑,但我始终认为,不要把自己放在别人给的盒子里。不要给自己打标签,我是前端,我是后端,我不该关关心运维的事情,我不该关心云原生,不该学Docker(目前Docker公司估值达21亿美元,GitLab上市时估值约149亿美元)。。

作为一名技术人,要时刻牢记,自己是一名工程师,虽然可能还在写着蹩脚的代码,但仍然要以提升生产效率,改良生产工具,利用科技让生活变得更美好。而不是狭义地因为不属于自己的工作范围,而对一个很有价值的问题不管不问。不要让别人给你贴标签,要做有价值的事情,即使这件事不归你管,养成独立思考的好习惯:)。

DevOps Git

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》 —1.8 历史
下一篇:CPU高速缓存与极性代码设计
相关文章