2010-02-25 43 views
3

我刚开始在持续集成环境(TeamCity)中工作。我明白了在代码中没有被抽象出来的基本思想,即你永远无法构建它来测试功能等。然而,当深度编码发生时,偶尔需要几天时间才能获得可构建的代码 - - 但在其他团队成员可能需要查看我的代码。如何与持续集成共享代码

如果我检查代码,它打破了构建。但是,如果我不检查它,我的团队成员无法看到最近的工作。我想知道这种情况最好如何处理。

回答

4

类似Code Collaborator(Google链接,smartbear.com已关闭..)的工具可让您的同事看到您的代码,而无需提交。相反,您只需提交它以供审核。

虽然它对运行它有点额外的麻烦。

或者,您可以设置一个第二个分支 /您的代码分支供您使用,您的同行可以同步到该分支,并且不会中断生成服务器。当你在自己的分支中完成工作时,你可以将它与主线/中继/任何东西合并。

+0

+1分支建议。 – 2010-02-25 03:05:00

1

在团队环境中,任何人在几天内都处于不可生存状态通常是非常不可取的。我尝试将大量代码分发到尽可能多的可建立的签入。至少,即使你没有准备好实现,也要创建并检查你的接口,以便其他人可以开始对它们进行编码。

+0

为什么它是不受欢迎的? – alchemical 2010-02-25 23:14:53

+0

@LuftMensch由于无法构建,任何人无法检查其代码的时间越长,应用程序就会变成“staler”。代码不同步,最终的代码合并变得更加复杂和容易出错。 – 2010-02-27 02:33:26

+0

嗯,好的,我会考虑的。 – alchemical 2010-03-01 17:48:51

0

持续集成的一个主要优点是它可以告诉你什么时候什么事情发生了,什么时候事情得到解决。如果您犯下那些破坏系统的代码,其他开发人员将会在继续开发之前被迫使其进入工作状态。这是一件好事,因为它不允许在破碎的事物上进行代码更改(这可能会导致问题出现在同事代码在破坏的系统上工作,但在初始中断修复后不起作用) 。

这也是一个很好的时间使用分支/叉子的简单例子,并且当所有破碎的东西都被修复时,简单地合并到树干。

+1

我不确定我是否同意“强迫他人修复它”的评论 - 当然,问题是如果你破坏了它,你会修复它? – Klelky 2010-02-25 10:48:36

0

我在这里完全一样的情况..作为建筑工程师,我的工作很精美。

首先,让我分解分支/项目。 @Dolph Mathews已经提到了分支和tbh,这是让你的设置工作的一个重要部分。

  • 以主代码库为基础,并将其集成到几个个人或“小”团队分支。即branch_team_a,branch_team_b,branch_team_c
  • 然后在不同项目标题下建立teamcity以针对这些分支进行构建。因此,您最终将拥有以下内容:Project Main,Project Team A,Project Team B,Project Team C
  • 第三,然后设置开发人员签入,以便他们运行预先提交构建分解分支..您可以找到TC插件这个工具和设置下..他们有IntelliJ或VS.

你现在有你的3层设置.. - 开发者踢启动远程运行从他们对他们的项目桌面提交前的版本。如果它通过,它会被检入到存储库中,即branch_team_a - 项目组A在多次签到后通过;此时您将您的更改从branch_team_A集成到主分支 - Project Main build!

如果一切都成功,那么你有一个候选人发布..如果一个部分失败,项目a,b或c。它不会被检入到main中。这一直是我久经考验的方法,每次都有效。它还大大提高了团队沟通。