Gitlab英雄边框模式左svg Gitlab英雄边框模式右svg

GitLab
vs.
Atlassian竹

决定装备

决定装备

Atlassian竹总结

什么是亚斯西亚竹子用于?Bamboo Server是一种CI / CD解决方案,它是Atlassian套件的开发人员工具的一部分。它仅以自我管理的配置提供,并且是一个封闭的源解决方​​案。Bamboo提供构建,测试和部署自动化,并对亚斯西亚Bitbucket(for SCM)和Fisheye(用于了解源代码如何更改的情况),以及对超过150个其他工具的集成。相比之下,Gitlab提供基于GIT的SCM,SCM集成以及在单个应用程序中禁止框中的代码更改可跟踪性。

Bamboo提供了一个用于定义构建计划的GUI,并通过Java和Yaml提供作为代码的管道。Bamboo还提供部署计划(包括环境和发布的概念),预部署可见性和每个环境部署权限。Gitlab还提供跨环境的发布跟踪和对部署的更改的深度可见性,但基于分支权限设置部署权限。

竹子不提供监测功能。GitLab将监视作为其单一应用程序的一部分。

竹步骤可以在代理中并行运行,如果竹子配置为一个名为弹性竹子的功能,那么这些代理可以根据需要自动缩放。弹性竹需要使用“远程代理”,您需要为此支付额外的费用(参见定价).想要自动伸缩的组织也只能使用Amazon弹性计算云(EC2),并为其使用单独向Amazon支付费用。相比之下,GitLab不按远程代理(运行程序)收费,并可通过各种云和容器解决方案进行扩展。

差距

  • 扩展Bamboo的本地功能是通过插件完成的。插件的维护、安全性和升级成本都很高。相比之下,GitLab是开放的核心任何人都可以直接向代码库贡献变更,一旦合并,就会随着每次变更而自动测试和维护代码库。

评论/轶事

  • 讨论从关于亚斯索州的哈克尼斯文章不允许基准测试> Atlassian一直禁止在他们的服务条款和以前的EULA中谈论他们产品的性能。新利18骗我们都知道原因,但我们不谈论它。

  • 从Twitter:

  • 从竹打开问题

    • 问题:如果我想使用git子模块,那么我不必在每个竹代理上上载和配置SSH键。
      • 关键文本:“Bamboo需要单独的Pit身份验证为子模块。这涉及使用HTTPS for子模块,并通过作业的环境变量提供凭据,或在每个构建代理上配置单独的SSH密钥。使用HTTPS将渲染本地构建无法使用,每次都需要凭据。将SSH键添加到每个竹子代理中是不可明象的。...这个原因,其中包括我们从竹子迁移的原因。我们现在使用Gitlab和Gitlab CI更好的码头和Git支持。“
      • 链接:竹问题在吉拉

资源

定价

  • 价格页面
  • 竹定价指南(包括远程代理的附加价格和学术定价)
  • 小团队- 10美元/月-只有10个工作,没有远程代理
  • 不断增长的团队- 880美元/月-无限的工作,1个远程代理
  • # remote agents(1, 5, 10, 25, 100, 250, 500, 1000)的分级定价增加(参见Bamboo pricing Guide for prices)
  • 首次购买包括永久软件和1年维护。每年维护成本约为初始远程代理层面的50%。(例如,第1年@ 25远程代理= $ 8,800,第二年维护= 4,400美元)
特征比较
特性

内置的CI / CD

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

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

运行更少的内存和消耗更少的CPU功率

使用很少的内存,它运行在512MB。因为Go是一种编译语言,所以CPU功耗很小

应用程序性能监控

GitLab利用Prometheus收集和显示已部署应用程序的性能指标。开发人员可以确定合并的影响,并密切关注他们的生产系统,而无需离开GitLab。新利18骗

了解有关监视已部署应用程序的更多信息

GitLab自我监控

GitLab开箱即用,支持Prometheus监控,并使用了大量的仪器,这使得确保GitLab部署具有响应性和健康性变得很容易。

了解更多关于GitLab自我监控的信息

项目级值流分析

Gitlab提供了一个仪表板,让团队衡量计划监控所需的时间。Gitlab可以提供此数据,因为它拥有内置的所有工具:从想法,到CI,代码审核,部署到生产。新利18骗

了解更多价值流分析

组级价值流分析

GitLab提供了一个组仪表板,让团队度量从计划到监视所需的时间。Gitlab可以提供此数据,因为它拥有内置的所有工具:从想法,到CI,代码审核,部署到生产。新利18骗

了解更多价值流分析

使用复查应用程序预览更改

使用GitLab CI/CD,您可以为每个分支创建一个新环境,从而加快开发过程。为您的合并请求创建动态环境,以便能够在活动环境中预览您的分支。Review Apps支持静态和动态url。

了解更多关于评论应用程序的信息

CI / CD水平自动定量

如果工作负载增加,GitLab CI/CD云本机架构可以通过添加新节点轻松地进行水平扩展。GitLab runner可以自动上下旋转新容器,以确保管道立即处理,并将成本降至最低。

了解更多关于GitLab CI/CD水平自动伸缩的信息

CI / CD管道仪表板

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

了解更多关于仪表板中的跨项目管道的更多信息

云本地人

GitLab及其CI/CD是Cloud Native,专为云模型构建。GitLab可以很容易地部署在Kubernetes上,并用于将您的应用程序部署到Kubernetes上,提供开箱即用的支持。

Kubernetes集成

使用集成的web终端进行容器调试

使用内置的GitLab Web Terminal可以在任何环境中轻松调试容器。如果应用程序部署在Kubernetes上,GitLab可以直接从您的环境打开终端会话。这是一个非常强大的特性,您可以在不离开舒适的web浏览器的情况下快速调试问题。

了解更多关于网络终端的信息

综合管线图

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

了解有关管道图形的更多信息

HTML工件的在线可视化

直接从浏览器访问您的测试报告、代码质量和覆盖率信息,而不需要在本地下载它们。

了解有关在项目中使用作业工件的更多信息

可浏览的工件

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

了解有关在项目中使用作业工件的更多信息

最新的工件锁定以防止删除

在任何活动分支,MR或标记上的成功作业和管道的最新工件将自动锁定以防止被删除。这使得可以设置攻击性的到期策略来清理较旧的伪像,降低磁盘空间消耗,并确保始终可用的最新工件。此默认行为可在项目级别配置,可以在项目设置中禁用。

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

预定触发管道

您可以在类似cron的环境中按计划运行管道。

了解如何在GitLab中触发调度中的管道

代码质量MR小部件

代码质量报告可以在合并请求小部件区域中获得,在决定是否接受更改之前,您可以早期了解更改将如何影响代码的健康状况。

了解更多关于代码质量的信息

代码质量报告

Pipeline页面上有完整的代码质量报告可用,显示不符合组织首选风格或标准的码库的区域。

了解有关代码质量报告的更多信息

合并请求差异中的代码质量违规通知

合并请求中引入的代码质量违规会在merge request diff视图中进行注释,以详细说明合并后代码质量会如何下降。

了解更多关于MR差异中的代码质量

多项目管道图

通过多项目管道图,您可以看到上游和下游管道是如何链接到一起的,这些项目是通过触发器链接到其他项目的,作为一个更复杂的设计的一部分,就像微服务体系结构一样。

了解更多关于多项目流水线图的信息

保护变量

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

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

环境和部署

GitLab CI不仅能够测试或构建您的项目,还能够将它们部署到您的基础设施中,另外还提供了一种跟踪部署的方法。环境就像CI作业的标记,描述代码部署在哪里。

了解更多关于环境的信息

Per-environment权限

开发人员和QA可以根据生产停留锁定,按需部署到自己的环境。新利18骗构建工程师和OPS团队花费更少的时间服务部署请求,并且可以在生产中进行门。新利18骗

了解GitLab中受保护的分支

环境历史记录

环境历史记录允许您查看服务器上当前部署的内容,并访问所有过去部署的详细视图。从这个列表中,您还可以重新部署当前版本,甚至在出现问题时回滚一个旧的稳定版本。

了解更多关于环境的历史

特定环境变量

通过定义它可以使用的环境来限制变量的环境范围。

了解如何配置特定于环境的变量

组级别变量

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

了解如何配置变量

显示Pipelines的代码覆盖率

GitLab能够解析作业输出日志,并通过可定制的正则表达式搜索SimpleCov等工具创建的任何信息,以获得代码覆盖。数据在UI中自动可用,也可以作为徽章嵌入到任何HTML页面或使用GitLab Pages发布。

了解如何在GitLab中生成和显示代码覆盖率信息

支持多个Kubernetes集群

轻松地部署不同的环境,如分期和生产,到不同的Kubernetes集群。新利18骗这允许强制执行严格的数据分离。

阅读更多的文档

坏的检验检疫

不要让红色构建成为常态。在所有测试中,保持片状或破碎的测试(但不是不在乎),并通过一键式检疫保留Build Green。

阅读更多问题