iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Gitlab CI是什么意思
  • 398
分享到

Gitlab CI是什么意思

2023-06-27 11:06:01 398人浏览 八月长安
摘要

这篇文章主要介绍gitlab CI是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Gitlab CI 是一个功能非常强大的持续集成系统,有很多不同的功能,而且每次发布都会增加新的功能。它的技术文档也很丰富,但

这篇文章主要介绍gitlab CI是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Gitlab CI 是一个功能非常强大的持续集成系统,有很多不同的功能,而且每次发布都会增加新的功能。它的技术文档也很丰富,但是对那些要在已经配置好的 Gitlab 上使用它的用户来说,它缺乏一个一般性介绍。设计师或者测试人员是无需知道如何通过 Kubernetes 来实现自动伸缩,也无需知道“镜像”和“服务”之间的不同的。

Gitlab CI是什么意思

在 fleetster, 我们搭建了自己的 Gitlab 实例,而且我们大量使用了 Gitlab CI。我们的设计师和测试人员也都在用它,也很喜欢用它,它的那些高级功能特别棒。

但是,他仍然需要知道什么是“管道”,知道如何查看部署到一个“环境”中的分支。因此,在本文中,我会尽可能覆盖更多的功能,重点放在最终用户应该如何使用它们上;在过去的几个月里,我向我们团队中的某些人包括开发者讲解了这些功能:不是所有人都知道持续集成(Continuous Integration)(CI)是个什么东西,也不是所有人都用过 Gitlab CI。

如果你想了解为什么持续集成那么重要,我建议阅读一下 这篇文章,至于为什么要选择 Gitlab CI 呢,你可以去看看 Gitlab.com 上的说明。

简介

开发者保存更改代码的动作叫做一次提交(commit)。然后他可以将这次提交推送(push)到 Gitlab 上,这样可以其他开发者就可以复查(review)这些代码了。

Gitlab CI 配置好后,Gitlab 也能对这个提交做出一些处理。该处理的工作由一个运行器(runner)来执行的。所谓运行器基本上就是一台服务器(也可以是其他的东西,比如你的 PC 机,但我们可以简单称其为服务器)。这台服务器执.gitlab-ci.yml 文件中指令,并将执行结果返回给 Gitlab 本身,然后在 Gitlab 的图形化界面上显示出来。

开发者完成一项新功能的开发或完成一个 bug 的修复后(这些动作通常包含了多次的提交),就可以发起一个合并请求(merge request),团队其他成员则可以在这个合并请求中对代码及其实现进行评论(comment)。

我们随后会看到,由于 Gitlab CI 提供的两大特性,环境(environment) 与 制品(artifact),使得设计者和测试人员也能(而且真的需要)参与到这个过程中来,提供反馈以及改进意见。

管道(pipeline)

每个推送到 Gitlab 的提交都会产生一个与该提交关联的管道(pipeline)。若一次推送包含了多个提交,则管道与最后那个提交相关联。管道就是一个分成不同阶段(stage)的作业(job)的集合

同一阶段的所有作业会并发执行(在有足够运行器的前提下),而下一阶段则只会在上一阶段所有作业都运行并返回成功后才会开始。

只要有一个作业失败了,整个管道就失败了。不过我们后面会看到,这其中有一个例外:若某个作业被标注成了手工运行,那么即使失败了也不会让整个管道失败。

阶段则只是对批量的作业的一个逻辑上的划分,若前一个阶段执行失败了,则后一个执行也没什么意义了。比如我们可能有一个构建(build)阶段和一个部署(deploy)阶段,在构建阶段运行所有用于构建应用的作业,而在部署阶段,会部署构建出来的应用程序。而部署一个构建失败的东西是没有什么意义的,不是吗?

同一阶段的作业之间不能有依赖关系,但它们可以依赖于前一阶段的作业运行结果。

让我们来看一下 Gitlab 是如何展示阶段与阶段状态的相关信息的。

Gitlab CI是什么意思
Gitlab CI 基础知识Gitlab CI 基础知识

pipeline-overview

Gitlab CI是什么意思

pipeline-status

作业(job)

作业就是运行器要执行的指令集合。你可以实时地看到作业的输出结果,这样开发者就能知道作业为什么失败了。

作业可以是自动执行的,也就是当推送提交后自动开始执行,也可以手工执行。手工作业必须由某个人手工触发。手工作业也有其独特的作用,比如,实现自动化部署,但只有在有人手工授权的情况下才能开始部署。这是限制哪些人可以运行作业的一种方式,这样只有信赖的人才能进行部署,以继续前面的实例。

作业也可以建构出制品(artifacts)来以供用户下载,比如可以构建出一个 APK 让你来下载,然后在你的设备中进行测试; 通过这种方式,设计者和测试人员都可以下载应用并进行测试,而无需开发人员的帮助。

除了生成制品外,作业也可以部署环境,通常这个环境可以通过 URL 访问,让用户来测试对应的提交。

做作业状态与阶段状态是一样的:实际上,阶段的状态就是继承自作业的。

Gitlab CI是什么意思

running-job

制品(Artifacts)

如前所述,作业能够生成制品供用户下载来测试。这个制品可以是任何东西,比如 windows 上的应用程序,PC 生成的图片,甚至 Android 上的 APK。

那么,假设你是个设计师,被分配了一个合并请求:你需要验证新设计的实现!

要该怎么做呢?

你需要打开该合并请求,下载这个制品,如下图所示。

每个管道从所有作业中搜集所有的制品,而且一个作业中可以有多个制品。当你点击下载按钮时,会有一个下拉框让你选择下载哪个制品。检查之后你就可以评论这个合并请求了。

你也可以从没有合并请求的管道中下载制品 ????

我之所以关注合并请求是因为通常这正是测试人员、设计师和相关人员开始工作的地方。

但是这并不意味着合并请求和管道就是绑死在一起的:虽然它们结合的很好,但两者之间并没有什么关系。

Gitlab CI是什么意思

download-artifacts

环境(environment)

类似的,作业可以将某些东西部署到外部服务器上去,以便你可以通过合并请求本身访问这些内容。

如你所见,环境(environment)有一个名字和一个链接。只需点击链接你就能够转至你的应用的部署版本上去了(当前,前提是配置是正确的)。

Gitlab 还有其他一些很酷的环境相关的特性,比如 监控(monitoring),你可以通过点击环境的名字来查看。

Gitlab CI是什么意思

以上是“Gitlab CI是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Gitlab CI是什么意思

本文链接: https://www.lsjlt.com/news/310116.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Gitlab CI是什么意思
    这篇文章主要介绍Gitlab CI是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Gitlab CI 是一个功能非常强大的持续集成系统,有很多不同的功能,而且每次发布都会增加新的功能。它的技术文档也很丰富,但...
    99+
    2023-06-27
  • git和gitlab是什么意思
    这篇文章主要介绍了git和gitlab是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版...
    99+
    2023-06-21
  • gitlab合并请求是什么意思
    随着软件开发的快速发展,版本控制变得越来越重要。Git是目前最流行的分布式版本控制系统之一,而GitLab则是一个基于Git的Web平台,提供一个完整的(代码)管理系统。在GitLab中,合并请求(merge request)是一个非常重要...
    99+
    2023-10-22
  • CI/CD工具选Jenkins还是GitLab CI/CD
    这篇文章主要介绍“CI/CD工具选Jenkins还是GitLab CI/CD”,在日常操作中,相信很多人在CI/CD工具选Jenkins还是GitLab CI/CD问题上存在疑惑,小编查阅了各式资料,整理出...
    99+
    2024-04-02
  • J2EE是什么意思2又是什么意思
    J2EE是Java 2 Platform, Enterprise Edition的缩写,意思是Java 2企业级平台。它是一种用于开...
    99+
    2023-09-20
    J2EE
  • phpMyAdmin是什么意思
    这篇文章主要介绍了phpMyAdmin是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。phpMyAdmin 是什么?phpMyAdm...
    99+
    2024-04-02
  • node.js是什么意思
    这篇文章主要介绍了node.js是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Node.js是一个基...
    99+
    2024-04-02
  • ecmascript是什么意思
    这篇文章主要介绍“ecmascript是什么意思”,在日常操作中,相信很多人在ecmascript是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ecmascript...
    99+
    2024-04-02
  • index.html是什么意思
    本教程操作环境:windows7系统、HTML5版、Dell G3电脑。想要开发网页的同学们必须要了解 index.html。那么你知道 index.html 是什么吗?我们怎么创建 index.html 文件呢?这篇文章告诉你。index...
    99+
    2023-05-14
    html
  • php是什么意思
    PHP是一种通用开源脚本语言,与C语言类似,是常用的网站编程语言,随着移动应用的兴起,也可用于开发API接口,几乎支持所有流行的数据库以及操作系统,PHP 语言作为当今热门的网站程序开发语言,它具有成本低、速度快、可移植性好、内置丰富的函数...
    99+
    2024-04-02
  • mysqld是什么意思
    这篇文章主要介绍“mysqld是什么意思”,在日常操作中,相信很多人在mysqld是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysqld是什么意思”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-13
  • Rust是什么意思
    小编给大家分享一下Rust是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Rust 是什么Rust 是一种系统编程语言,它运行速度惊人,并且可以避免几乎所...
    99+
    2023-06-16
  • OSGi是什么意思
    OSGi是什么意思,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。OSGi是什么OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。...
    99+
    2023-06-17
  • mongodb是什么意思
    mongodb是一款面向文档的、分布式数据库系统,用于存储和管理大量结构化和非结构化数据。其核心概念包括文档存储和分布式,主要特性有动态模式、索引、聚集、映射-归约和复制。它广泛应用于内...
    99+
    2024-04-08
    mongodb
  • oracle是什么意思
    oracle 是由甲骨文公司开发的数据库管理系统 (dbms),主要用于管理和组织大型数据集。oracle 具有高可靠性、高性能、可扩展性、安全性、可定制性等特点,广泛应用于 erp、c...
    99+
    2024-04-02
  • numpy是什么意思
    numpy是一个用于科学计算的Python库。提供了一个强大的多维数组对象和处理这些数组的工具,可以方便地进行数值计算、数据操作、线性代数计算等等。numpy的ndarray对象可以存储同类型的数据,比Python原生的列表对象更高效,还支...
    99+
    2023-11-21
    numpy numpy库
  • dashboard是什么意思
    dashboard是一个用于可视化数据和监控系统的工具。用于展示和监控应用程序的关键指标和数据的用户界面,提供了一个集中的平台,让你能够快速了解应用程序的性能和运行状况,就像掌握了你家中各种设备的状态一样。dashboard就像一个商店的橱...
    99+
    2023-11-22
    dashboard
  • erp是什么意思
    erp是企业资源规划的意思,是一种通过集成管理企业各个方面的信息和业务流程的软件系统,通过整合各个部门的数据,帮助企业实现资源的高效管理和优化,从而提高企业的运营效率和竞争力。企业在实施ERP系统时需要全面规划和准备,注重过程管理和组织变革...
    99+
    2023-07-28
  • mybatis是什么意思
    这篇文章主要为大家展示了“mybatis是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mybatis是什么意思”这篇文章吧。什么是mybatis:Mybatis本质是一种半自动化的OR...
    99+
    2023-06-27
  • remove是什么意思
    remove是从数据结构中删除一个元素、节点或字符的意思,具体的实现方式取决于所使用的编程语言和数据结构。无论是数组、链表还是字符串,remove操作都是程序员经常使用的操作之一,对于数据处理和算法实现都非常重要。本教程操作环境:windo...
    99+
    2023-08-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作