持续集成工具

2024-01-03

我正在研究持续集成工具及其好处。对于我的研究,我正在研究以下工具:

  1. 亚搏体育appGitLab持续集成
  2. Jenkins
  3. Bamboo
  4. GoCD
  5. TeamCity

现在我不会打扰你所有的要求和好处。但到目前为止,除了这些之外,我还没有发现这些工具之间有太多差异:

  1. 扇入扇出支持GoCD
  2. 社区规模,Jenkins 和 GitLab 似乎贡献者最多
  3. Costs
  4. 开源与否
  5. 可用插件数量

我想知道一些必须选择持续集成工具的人是否可以分享他们的经验以及他们为什么选择该工具,以及在选择我没有涵盖的内容之前是否存在值得考虑的某些差异。

现在我倾向于 GoCD,因为扇入扇出支持和持续交付管道的可视化,有人有对此工具问题的支持经验吗?

感谢您的关注,


免责声明:在去年秋季之前,我是 GoCD 的积极贡献者。 我没有使用过 GitLab CI,所以不会谈论这个:) 另外,我在过去的一年里没有使用过任何这些工具。

我认为 TeamCity 是一个很好的 CI 工具。如果您想调试一些故障,它与 IDE 集成得很好。测试报告非常精彩。但我不认为它们在 CD 领域那么先进,而且我认为两者都需要。但如果你只对 CI 感兴趣,你可能想看看。然而,您可能会错过我在下面提到的 GoCD 的一些优秀功能。

Jenkins 拥有庞大的社区,但 Jenkins 有其自身的缺点。很多时候,一个插件由于另一个插件的某些兼容性问题而无法工作。

GoCD 具有扇入/扇出支持,可以避免许多不必要的构建,从而节省大量构建时间和资源。价值流图非常直观,有助于从开发人员、QA 甚至交付经理的角度更好地了解构建阶段。 GoCD中的管道建模也非常好。如果您阅读 Jez Humble 和 David Farley 关于持续交付的书,您将看到这种构建设计背后的力量。

现在,回答你的第二个问题:

现在我倾向于 GoCD 因为扇入扇出支持和 持续交付管道的可视化有人知道吗 对此工具问题的支持方面有经验吗?

很高兴听到这个:P 我喜欢 GoCD。支持很好。如果您选择采用开源方式,那么邮件列表将非常活跃。您可以在一两天内得到 GoCD 团队的回复。当然,你的问题必须是真实且具体的。在发布问题之前浏览一下论坛会有所帮助:)

您还可以选择从 ThoughtWorks 购买对 GoCD 的支持。他们曾经提供多个支持级别,但不确定当前的支持模型。仅当您的数据库变得太大(~5-7 GB)时,当您可能想要寻求 ThoughtWorks 的专有 Postgres DB 支持时,您可能会遇到问题。我见过很少有 GoCD 用户具有这样的数据库大小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

持续集成工具 的相关文章

  • 如何使用 JRE 部署 JavaFX 11 桌面应用程序

    我有一个 JavaFX JDK 8 桌面业务应用程序 它使用 Java Web Start 进行部署 用户安装了 Java 8 只需访问 URL 我的 AWS Linux 服务器上的公共 URL 即可下载 启动应用程序 使用 Web Sta
  • 如何使用 Ioc Unity 注入依赖属性

    我有以下课程 public interface IServiceA string MethodA1 public interface IServiceB string MethodB1 public class ServiceA IServ
  • Python请求401错误但url在浏览器中打开

    我正在尝试从这个位置提取 json https www nseindia com api option chain indices symbol BANKNIFTY https www nseindia com api option cha
  • 连接运算符 + 或 ,

    var1 abc var2 xyz print literal var1 var2 literalabcxyz print literal var1 var2 literal abc xyz 除了带有 的自动空格之外 两者有什么区别 哪个通
  • 使用反射 API 填充 Proto 中的地图字段

    我正在尝试编写一个模块 该模块将获取 Message Builder 和从字段名称到值的映射 并将用值填充构建器 一切正常 直到我遇到地图字段 使用 Proto3 我收到一条特定消息 我知道我可以执行该消息的字段 builder b put
  • Python列表问题

    我在使用 python 列表时遇到问题 简化版本是 mylist1 some items in a list mylist2 mylist1 mylist1 pop i mylist insert i item print mylist1
  • 如何从 stack.navigation 外部的组件使用 navigation.navigate

    我有一个使用 React Native 的应用程序 我正在使用 React navigation 5 2 9 我构建了一个 Stack Navigator 其中有我的屏幕 但我希望页脚组件位于外部 以便它在所有屏幕中呈现 问题是 我无法从页
  • Chrome 中的 addEventListener

    我正在关注 Lynda com 上有关新 DOM 事件模型的教程 这是我正在使用的代码 function addEventHandler oNode sEvt fFunc bCapture if typeof window event un
  • 在私有 guice 模块中公开 Map

    我在 guice 中有一个 PrivateModule 我想从该模块公开一个 Map public class TestInjectionModule extends PrivateModule expose Map class annoa
  • Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]

    我已经尝试解决这个问题有一段时间了 由于某种原因 我陷入了 ssl 问题 并且不知道发生了什么 问题 我已经安装了 python2 7 和 easy install2 7 但是当尝试使用 easy install2 7 安装 pip 时 出
  • 将 pandas 数据框中的多列更改为日期时间

    我有一个 13 列和 55 000 行的数据框 我正在尝试将其中 5 行转换为日期时间 现在它们返回类型 对象 我需要转换这些数据以进行机器学习 我知道如果我这样做 data birth date pd to datetime data b
  • Pandas 替换特定列上的值

    我知道这两个类似的问题 熊猫替换值 https stackoverflow com questions 27117773 pandas replace values Pandas 替换数据框中的列值 https stackoverflow
  • 如何在 CruiseControl.net 中配置 svn 任务来检测 subversion 外部更改

    我在 subversion 中有一个 net 项目 它持续集成 Cruisecontrol net 我使用Svn源代码控制CCNET任务 net 项目库目录 其中包含配置为 subversion 外部的一组可重用组件 ProjectA li
  • javascript:获取带有单位的CSS prop值[重复]

    这个问题在这里已经有答案了 我的代码是这样的 image 1 position absolute top 3vw 我的尝试 http jsfiddle net z8k6t3fb 1 http jsfiddle net z8k6t3fb 1
  • Tensorflow ctc_loss_calculator:找不到有效路径

    当运行我的神经网络 双向 LSTM 进行音频识别时 我使用连接主义时间分类 CTC 但在某些时候 训练网络时我几乎每批都会收到来自 Tensorflow 的警告 W tensorflow core util ctc ctc loss cal
  • PyQt QFileDialog exec_ 很慢

    我正在使用自定义QFileDialog因为我想选择多个目录 但是exec 功能非常慢 我不明白为什么 我正在使用最新版本的 PyQt 代码片段 from PyQt4 import QtGui QtCore QtNetwork uic cla
  • Android Nougat 无法显示某些矢量文件 (Resources$NotFoundException)

    我一直在开发一个包含许多矢量图形的应用程序 最近我开始在 Nougat 上测试它 发现它立即崩溃了 logcat 在加载矢量时显示 Resources NotFoundException 这让人想起带有矢量图形的 Android 早期版本中
  • 调试客户端时使用 Chrome/Firefox

    我正在使用带有 getUserMedia 的相机 但出现了一些需要修复的错误 问题是 Visual Studio 只允许我使用 IE 调试 JavaScript 我的意思是命中断点 而 IE 不支持 getUserMedia 如果您想在 I
  • 是否可以使用具有余弦相似度的 KDTree?

    看来我不能使用这个相似度度量sklearn例如 KDTree 但我需要 因为我正在使用测量单词向量相似度 对于这种情况 快速鲁棒定制算法是什么 我知道关于Local Sensitivity Hashing 但它应该经过大量调整和测试才能找到
  • 如何对“2-1”这样的字符串进行数学计算以产生“1”?

    我只是想知道 PHP 是否有一个函数可以接受像这样的字符串2 1并产生它的算术结果 或者我必须手动执行此操作explode 获取算术运算符左侧和右侧的值 我知道这个问题很老了 但我昨晚在寻找不太相关的东西时遇到了它 而且这里的每个答案都很糟

随机推荐

  • 使用 REST Assured,如何检查响应的 json 对象类型数组中是否存在某个字段?

    我需要验证像下面这样的响应是否包含一些字段 我对字段值不感兴趣 只是对键存在感兴趣 例如 我想检查这种类型的响应中是否存在键 id 我将如何实现这一目标 id 1 title Title details details benefit We
  • 删除字符串中的所有“H”,除了包含“CH”的字符串

    我试图删除字符串中的所有 H 除了以下示例中包含 CH 的字符串 strings lt c Cash Wishes Chain Chip Check 我发现下面的代码只删除了 H data lt gsub H strings 您可以通过消极
  • crypto.createHash sha512 与 hexDigest 输入类型

    我试图获得与我获得的相同结果http jssha sourceforge net http jssha sourceforge net where 我有问题的是 测试 这个词 var word testing var hex toHex w
  • WordPress 要求我提供 FTP 凭据来安装插件

    我在本地系统中安装了 WordPress 博客 但是当我尝试从管理员添加插件时 它要求 FTP 访问权限 我需要配置什么才能使 WordPress 能够在不使用 FTP 的情况下上传 尝试在wp config php中添加代码 define
  • 使用多个分隔符提取文本

    我有带分隔符的字符串列表A and B L sgfgfqds A aaa sderas B ffff eeee sdsdfd A rrr 并需要 L1 aaa ffff eeee rrr 我尝试使用 L1 re findall r lt A
  • 如何在片段中按下后退按钮时显示警告消息

    我希望应用程序在用户按下后退按钮时显示警告消息 如果用户选择 是 它将返回 我在导航图片段中 我在堆栈溢出中搜索了很多次并尝试过 Override public void onBackPressed AlertDialog Builder
  • 嵌套viewpager2

    我正在尝试实现这样的布局 我附上了示例项目 https drive google com file d 1jEKOONMWN3MblLN1EmePsWTWNCNQVfN view usp sharing https drive google
  • 基于 C++ 模板的 get()

    我有一个班级 其中有几个 类似 类型的成员 例如 class Container C1 c1 C2 c2 C3 c3 template
  • Debianizing Python 程序以获得 .deb [重复]

    这个问题在这里已经有答案了 Aim 创建一个可安装的 deb文件 或包 单击该按钮将在 Linux 计算机上安装该软件 并且图标将放置在 GNOME 面板上 以便从那里启动该应用程序 我所提到的 我参考了两个 debianizing 指南
  • 使用“mvn test”进行参数化 JUnit 测试是否正确?

    我刚刚使用 JUnit 测试用例实现了JUnit4 11 下面的例子 https github com junit team junit blob master doc ReleaseNotes4 11 md example 1 https
  • WebView显示黑屏

    我有点不好意思发这个帖子 但我似乎不明白 我哪里出错了 我已经看过每一个例子和每一个 教程和一切对我来说都很合适 这就是我正在做的事情 我 有一个列表视图 当您单击某个项目时 它将带您进入 显示一些与之关联的静态格式文本的 WebView
  • 等待 RxJs.Subscriptions 完成后再恢复

    在我的 Angular 2 应用程序中 我需要发出一系列 http 请求 我有两个服务 A 和 B 每个服务都发出请求 A get and B get 从 API 获取数据并将其存储在其服务中 这两个可以同时调用 但是我有第三个请求doSo
  • 用Python绘制盒子

    平台 WinXP SP2 python 2 5 4 3 活跃状态分布 有谁写成功了盒子绘图字符 http en wikipedia org wiki Box drawing characters在Python中 当我尝试运行这个时 prin
  • addEventListener('keydown',handlekeydown,false) 与 .onkeydown 的工作方式不同,用于替换键入的击键

    我正在使用 keydown 事件来替换在输入文本框中键入的特定字符 当我使用时 document getElementById inputText onkeydown handleInputTextKeydown 或 JQuery 等效项
  • 为什么在尝试拆分一行输入并分配给多个变量时会出现 ValueError?

    我尝试了一些像这样的代码来从文件中读取问题和答案对 questions list answers list with open qanda txt r as questions file for line in questions file
  • 我应该如何使用服务器端和客户端代码编写 Node.js Web 应用程序?

    我计划编写一个 spin backbone js 风格的 Web 应用程序 它基本上只是将一个大型 application js 文件传输到客户端的浏览器 该浏览器使用 ajax 与 node js 后端进行通信 问题是我不知道如何构建这样
  • 对于自定义错误,我应该使用什么 HTTP 状态代码?

    我需要返回有关错误的信息 例如 客户的联系人不能超过 3 个 作业字段为空 超出操作限制 我需要发送带有自己的状态代码的每个错误吗 我可以用吗400 BadRequest对于所有这些错误 我可以使用 400 BadRequest 来处理所有
  • Tensorflow 无法预测足够准确的结果

    我对我在 Tensorflow 项目中选择的算法有一些基本问题 我输入了大约 100 万组训练数据 但仍然无法获得足够准确的预测结果 我使用的代码基于旧的 Tensorflow 示例 https github com tensorflow
  • 学习 Delphi 最简单/最有效的方法是什么?

    我对编程完全陌生 我选择 Delphi 作为我想学习的编程语言 我基本上想构建使用套接字填写和提交 Web 表单的工具 并且我希望它们也是多线程的 我希望它们功能丰富并且性能正确 我并不急于这样做 因为我确实知道任何事情 尤其是编程 都需要
  • 持续集成工具

    我正在研究持续集成工具及其好处 对于我的研究 我正在研究以下工具 亚搏体育appGitLab持续集成 Jenkins Bamboo GoCD TeamCity 现在我不会打扰你所有的要求和好处 但到目前为止 除了这些之外 我还没有发现这些工