当前位置: 首页 > 面试题库 >

门控登机/ Git的预测试提交?

元英朗
2023-03-14
问题内容

我正在寻找从TFS(Team Foundation
Server)迁移到Git的方法,但是找不到与TFS对门禁签入(也称为预测试或延迟提交)的支持相匹配的任何内容。

Atlassian
Bamboo不支持门禁值机。TeamCity确实支持它(使用其术语的“延迟提交”),但不支持Git。单独使用Jenkins或Jenkins +
Gerrit都具有很大的缺点,并且与TFS中的门控登机功能并不接近。(詹金斯(Jenkins)的创建者本人在此视频中解释了缺点:http
:
//www.youtube.com/watch?v=LvCVw5gnAo0)

Git非常受欢迎(有充分的理由),那么人们如何解决这个问题?目前最好的解决方案是什么?


问题答案:

我们才刚刚开始使用git,并且已经使用工作流实现了预先测试的提交(我今天才完成测试)。

基本上每个开发人员都有一个个人存储库,他们具有读/写访问权限。在我们的案例中,构建服务器TeamCity使用这些个人存储库进行构建,如果成功,则将更改推送到“绿色”存储库。开发人员没有对“绿色”的写入权限,只有TeamCity构建代理可以对此进行写入,但是开发人员从“绿色”中提取常见更新。

因此,开发人员从“绿色”开始,走向个人,TeamCity从个人开始,走向绿色。

这篇博客文章显示了我们正在使用的基本模型,以及针对个人存储库的GitHub分支(使用分支意味着存储库的数量不会一发不可收拾,最终会花费更多,并且意味着开发人员可以管理个人构建,因为他们可以分叉,然后创建团队城市构建工作,以将其代码推送到“绿色”):

在此处输入图片说明

由于每个开发人员都必须拥有自己的构建配置,因此在TeamCity中进行设置需要做更多的工作。实际上,它实际上必须是2种配置,因为TeamCity似乎执行了所有构建步骤(包括最后的“推向绿色”步骤),即使先前的构建步骤失败了(如测试:)),这意味着我们必须有个人的为开发人员构建,然后是另一个依赖于该构建的构建配置,只要构建成功,该配置便会进行推送。



 类似资料:
  • 在本章中,我们将测试后门是否按预期工作。为此,我们要把后门放在Web服务器上,并从目标Windows机器下载它。这里仅使用这种方法来测试后门。 我们知道Kali机器可以用作网站,因此我们把后门放在网上并从目标计算机下载。我们将此下载保存在evil-files文件夹中,如以下屏幕截图所示: 现在,我们使用Veil-Evasion创建的后门存储在中,需要复制并粘贴到目录中。就是这样。,我们就可以从Ka

  • 我在perferences中排除了文件夹,但是当我尝试提交更改时,phpstorm会尝试提交workspace.xml文件。为什么?

  • 英文原文:http://emberjs.com/guides/testing/testing-controllers/ 单元测试方案和计算属性与之前单元测试基础中说明的相同,因为Ember.Controller集成自Ember.Object。 针对控制器的单元测试使用ember-qunit框架的moduleFor来做使这一切变得非常简单。 测试控制器操作 下面给出一个PostsController

  • Git 背景 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。 Linux 内核开源项目有着为数众广的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。 到了 2005 年,开发 BitKeeper 的商业公司

  • 我试图使用mockito测试我的登录servlet,但它返回错误: java.lang.NullPointerException:无法调用“java.io.PrintWriter.PrintLN(String)”,因为“out”为null。在Control.LoginPatient.DoPost(LoginPatient.java:55)在Control.LoginPatientTest.Test

  • 问题 你需要生成在一定范围内的随机数,但你也需要对发生器进行“生成种子”操作来提供可预测的值。 解决方案 编写你自己的随机数生成器。当然有很多方法可以做到这一点,这里给出一个简单的示例。 该发生器绝对不可以以加密为目的! class Rand # 如果没有种子创建,使用当前时间作为种子 constructor: (@seed) -> # Knuth and Lewis' impro