Gitlab英雄边框图案离开svg Gitlab英雄边框图案右svg 背景波
GitLab
VS
马具
决策工具
决策工具
线束VS gitlab

总结

Harness.io提供了自动化的软件开发生命周期(SDLC)的持续集成与可持续交付阶段的服务。

他们的CD服务可以作为SaaS和本地部署(连接本地和断开本地)使用。挽具CI(以前的无人机)是一个自助服务CI提供。Drone Cloud是为开源社区提供的免费持续集成服务。

驾驭的基本价值是它抽象了部署传统应用程序和基于微服务的应用程序时所涉及的一些复杂性。在新的基于微服务的体系结构中,利用的力量更强。

线束CI

像GitLab,线束CI(原雄蜂)也使用YAML文件来定义CI管道的步骤。无人机的最显着特点是它的容器,第一种方法,使用隔离的容器来执行在CI管线的每一步。无人机还提供了直接在主机上运行管道的选项,在数字海洋飞沫或在MacStadium虚拟机。

无人机封装和分发插件作为与执行预定义任务和被配置为您的管道步骤Docker容器。可用的插件列表可以从他们的插件商城下载。

优势

  • 易于使用的用户界面,pipeines和管道进展的视觉显示。
  • 能够自定义模板化和管道,管道的步骤
  • 连续检验能力集成了多种监控工具和应用机器学习来检测异常和部署的自动化回滚。
  • 集装箱优先的方法,CI管道在容器中执行
  • YAML文件:CI构建作业在一个YAML文件中配置
  • 支持Mac环境中的管道执行
  • 插件卖场份额基于容器的插件
  • 集成多种源代码管理系统,包括GitHub, GitHubEnterprise, Bitbucket, GitLab。

差距

  • 没有内置的SCM功能——从SourceCode到CI再到CD工具的上下文切换,从代码到生产的管道。manbetx体育客户端3.0
  • 一些开箱即用的集成,但是来自这些系统的反馈是通过控制台类型的接口的,这使得在部署期间监控任务和跟踪问题的根本原因变得更加困难。
  • 没有内置的安全-必须依赖于第三方产品。manbetx体育客户端3.0这延长了安全、测试和部署的时间。
  • 与管道问题管理需要第三方产品。manbetx体育客户端3.0这可能会导致上下文的损失和解决问题的延误。
  • 没有真正的CI SaaS产品
  • 没有单独集成的DevOps应用程序:装具是自动化软件开发生命周期的持续集成和持续部署阶段的工具。为了扩展功能,需要与插件集成。
  • CI安全认证:没有可用的信息,关于管理CI是否获得了安全认证,如FedRamp和SOC 2
  • 装具CI还没有被Forrester Wave认为是持续集成的领导者
功能比较
特征

免费CI / CD共享或个人亚军

GitLab.com分享了运动员,让您使用GitLab CI / CD完全免费的高达400构建分钟私人项目50000分钟的公益项目。或者,你可以设置自己更快的构建过程中,无限量打造分钟,或特殊要求的亚军。

探索GitLab.com产品

内置CI / CD

GitLab内置持续集成/持续交付,免费,不需要单独安装。使用它来构建、测试和部署你的网站(GitLab Pages)或webapp。作业结果显示在合并请求上,以便于访问。

了解更多关于CI / CD

CI / CD水平自动定量

如果工作负载增加,GitLab CI/CD云本地架构可以通过添加新节点轻松地横向扩展。GitLab runner可以自动上下旋转新的集装箱,以确保管道立即处理,并将成本降到最低。

了解更多关于GitLab CI / CD水平自动缩放

CI / CD管道仪表板

将跨项目和组的管道的历史和当前状态可视化在一个可以为每个用户定制的仪表板中。

详细了解跨项目管道在操作仪表板

从聊天部署

从聊天一个环境中(例如分段)的任何其他(例如生产)部署manbetx体育客户端3.0

阅读关于斜杠命令的文档

综合管线图

管道可以是具有许多顺序和并行作业的复杂结构。为了更容易地查看正在进行的操作,您可以查看单个管道及其状态的图形。

了解更多关于管道图

可浏览的工件

使用GitLab CI,您可以上传您的工作工件到GitLab本身,而不需要外部服务。正因为如此,工件也可以通过GitLab的web界面浏览。

了解更多关于在项目中使用的工作文物

最新文物锁定以防止删除

一个成功的工作和管道上的任何活动分支,MR,或标签的最新神器被自动锁定,以防止被删除。这使得有可能设置一个积极的过期策略,以清理旧的文物,减少磁盘空间的消耗,并确保最新的神器始终可用。

了解有关作业工件过期的更多信息

管道计划触发

您可以让管道在类似cron的环境中按时间表运行。

学习如何在GitLab中按时间表触发管道

多项目管线图

随着多项目管线图,你可以看到上游和下游管线的连接方式为通过触发器链接到其他的更复杂设计的一部分项目,因为它是微服务架构。

了解更多关于多项目管线图

受保护的变量

可以将变量标记为“protected”,使其仅对运行在受保护分支上的作业可用,因此只有授权用户才能访问它。

了解如何使用受保护的变量

组级别变量

在组级别定义变量,并在组中的任何项目中使用它们。

了解如何配置变量

可定制的路径为CI/CD配置

您可以为CI/CD配置文件在存储库中定义自定义路径。

了解如何配置自定义的CI / CD的配置文件

在Windows上运行CI/CD作业

GitLab Runner支持Windows,可以在该平台上本机运行作业。通过利用PowerShell或批处理文件,您可以自动构建、测试和部署基于windows的项目。

manbetx客户端打不开在Windows上安装GitLab Runner

在macOS上运行CI/CD作业

GitLab亚军支持MacOS和可以在这个平台上本地运行的作业。您可以通过利用shell脚本和命令行工具自动构建,测试和部署基于MacOS的项目。

manbetx客户端打不开在Mac OS安装GitLab亚军

运行CI / Linux上的ARM CD职位

GitLab Runner支持ARM架构上的Linux操作系统,可以在该平台上本机运行作业。通过利用shell脚本和命令行工具,您可以为基于Linux ARM的项目自动构建、测试和部署。

manbetx客户端打不开在Linux上安装GitLab亚军

在FreeBSD上运行CI/CD作业

GitLab亚军支持FreeBSD和可以在这个平台上本地运行的作业。您可以通过利用shell脚本和命令行工具自动构建,测试和部署基于FreeBSD的项目。

manbetx客户端打不开FreeBSD的安装GitLab亚军

GitLab CI/CD中每个命令执行时间的详细信息

其他CI系统显示在CI作业的每一个单个命令运行,而不只是总时间的执行时间。我们正在重新考虑作业输出日志的习惯,以增加这个功能,以及管理。

了解更多关于在文档中作业输出日志

保护运动员

受保护的运行程序允许您保护敏感信息,例如部署凭据,方法是只允许运行在受保护的分支上的作业访问它们。

了解更多关于这个问题

部署董事会

GitLab高级附带部署提供主板上Kubernetes运行的每个CI / CD环境的当前状况和状态的统一视图。您的最新部署的每个吊舱的状态显示无缝内GitLab无需访问Kubernetes。

了解有关部署板的更多信息

定时和手动增量部署部署

GitLab可以让你在Kubernetes上部署你的应用程序的新版本,从几个pods开始,然后如果一切正常的话增加百分比。可以将其配置为按进度表进行,或者暂停以进行输入。

了解有关配置增量rollout部署的更多信息

金丝雀部署

与Kubernetes部署应用程序时GitLab保费可以监视你的金丝雀部署。

了解更多有关配置金丝雀部署

最小CI / CD配置

GitLab CI / CD需要你的管道不是像詹金斯其他相似的配置较少的配置。

了解更多关于GitLab CI / CD

管道安全

在受保护的分支上运行CI/CD管道的能力将根据一组安全规则进行检查,这些规则定义了是否允许您这样做。它包括创建新的管道、重试作业和执行手动操作。

了解更多关于管道安全

包括CI外部文件/ CD管道定义

您可以在您的管道定义文件外部文件,用它们作为模板重用共同的工作片段。

了解有关包含外部文件的更多信息

步骤折叠为CI / CD日志

关闭每个命令的作业日志输出。

文档

外部回购的CI/CD

连接托管在外部服务(如GitHub的或到位桶)和杠杆GitLab CI / CD管道构建,测试的功率您的项目,并轻松地部署应用程序。

了解更多关于CI / CD的外部存储库

GitHub的CI / CD

连接托管在GitHub上,并利用GitLab CI / CD管道构建,测试的功率您的项目,并轻松地部署应用程序。

了解更多关于GitHub CI/CD的信息

交互式网络终端

互动式网络终端,可以连接到一个正在运行或已完成Kubernetes,码头工人,或壳牌亚军工作,手动运行命令,以便更好地了解情况,在系统中。

了解更多关于交互式Web终端

对于monorepos明确支持

仅执行工作/时,有对有许多微服务都包含在一个单一的回购定路径或文件支持monorepos除了改变的能力。

了解更多关于只/ CI除外/ CD执行

管道的合并请求

当你想,当他们在同一个合并请求相关的流水线作业只能运行指定。请通过运行仅合并请neccessary工作的管道更加高效。

了解更多关于管道的合并请求

管道的合并结果

保持掌握绿色。在合并到主程序之前,在合并代码的结果上运行一个特殊的管道,以检测在分支上可能是绿色的,但在合并时主程序会失败的更改。

了解更多关于管线的合并结果

合并的火车

通过将管道并行排列,确保管道中有一个有序、高效的变更流到目标分支,每个构建都基于前一个管道的合并结果。压缩-合并也与合并列车一起被支持。

了解更多有关合并列车的信息

在父项目运行的管道从叉大都市

具有相应权限的父项目的成员可以运行使用父项目的管道配置和跑步分叉MR管道。这增加了另一层安全,以确认有两岔MR可能影响父项目没有任何恶意活动。

了解更多关于叉形MR管道

在代码库中的任何事件触发管道

允许根据在代码存储库中执行任何已定义事件的时间启动管道/工作流。例如,可以运行工作流发送关于向存储库或项目添加新成员的欢迎电子邮件。

GitLab的医生引发了一些事件

多种触发类型
支持21个事件触发器

社区供电工作流(配置是代码,以便是可共享的)

GitLab管道(工作流)在回购定义为YML和可以像操作共享。

任何平台、任何语言和云

可以在任何操作系统平台上运行,任何语言和任何云提供商

无需配置,基础设施设置,或需要打补丁

作为一个SaaS产品,可提供软件开发和交付服务,而无需设置工具本身,基础架构来运行它,并通过修补维护。

自动建议管道开始基于代码语言

通过语言检测,自动建议管道模板运行,帮助用户快速获得管道运行。

自动运行DevOps的管道,不只是一个建议

先进的CI / CD配置棉短绒

CI linter在验证您的代码时提供警告和错误消息.gitlab-ci.yml文件,帮助建立和运行与GitLab管道快速。

了解有关CI YAML连接器的更多信息

与许多预先定义的管道来

提供了许多预先定义的管道,捕捉最佳做法,很容易让用户上手每个项目的共同语言,平台和配置。

连接SDLC期间使用的差异工具和服务

可作为一个中央胶水来编排,并从许多不同的工具和服务连接数据并输出。

矩阵构建

内置以定义并执行建立自动触发许多基于输入变量的多个并行作业或管线的能力。例如,建设3操作系统的同时,并为3个不同的版本库,会自动在9个并行任务来完成。在GitLab,这是使用动态子管道实现。

了解更多关于父/子管道

运行Linux的共享亚军

能够在共享的Linux系统从SaaS产品池运行亚军。

运行Windows共享亚军

能够在共享的Windows系统从SaaS产品池运行亚军。

处于测试阶段

运行共享macOS跑步机

能够在共享的MacOS系统从SaaS产品池运行亚军。

管道状态上拉/合并请求可见

状态和管道运行的结果可见,至少在从合并/拉请求他们的部分摘要。

来自运行管道的日志的实时流

能够查看实时作业日志(在管道运行时)。

搜索所有作业日志

在所有或一个以上的作业日志一次搜索。启用错误更有效的搜索和其他感兴趣的内容,同时故障排除或审查作业输出。

在日志的时间内浏览器搜索

查看纯文本的原始日志

能够得到一个日志的纯文本,没有标记,能够共享或使用它的外部。

每个回购协议有多个管道

能力来定义每一代码库的多个管道,以使任一不同的过程,以在不同的时间下运行,和/或,使那里有一个回购内的多个应用程序,其需要建立和每个应用程序的处理方式不同monorepos。

阅读更多关于子/父管道的信息

参考动作/工作在另一回购

从它从运行一个回购能力不同,有管道/工作流参考和使用行为/工作,而无需任何安装。