关于问题 #1 至问题 #4 乔尔测试 我认为都是关于正在使用的开发工具和为开发人员提供的支持系统:

  1. 您使用源代码管理吗?
  2. 你能一步完成构建吗?
  3. 您进行每日构建吗?
  4. 你有错误数据库吗?

我只是好奇对于没有大量银行账户的小型开发商店来说,有哪些免费/便宜(但很好)的工具可以用来对这些问题做出积极的回答。

对于源代码控制,我知道 Subversion 是一个很好的解决方案,如果您是一家单人商店,您甚至可以使用 SourceGear 的 避难所.

我将 NAnt 用于较大的项目,但尚未设置脚本来构建我的安装程序以及将混淆工具全部作为一个步骤运行。还有其他建议吗?

如果您可以一步回答“是”,我认为创建每日构建会很容易,但是您会推荐哪些工具来自动化这些每日构建?

对于一两个人的团队,已经讨论过可以使用 FogBugz On Demand,但是对于小型团队还有哪些其他错误跟踪解决方案呢?

有帮助吗?

解决方案

  1. 源控制: 颠覆 或者 水银 或者 git
  2. 构建自动化: 南安特, 微软构建, , 梅文
  3. 持续集成: CruiseControl.NET 或者 连续体 或者 詹金斯
  4. 问题跟踪: 特拉克, 布吉拉, 双子座 (如果它必须是 .NET 并且是免费的)

不要忘记自动化测试 单位, 合身, , 和 等待.

其他提示

我的首选堆栈:

1)颠覆。我对分布式源代码控制很感兴趣,但还没有机会愤怒地尝试。对于集中式解决方案,svn 是坚如磐石的。

2)蚂蚁。Maven 在工作时使用起来很愉快,但作为一个老蚂蚁黑客,我发现一旦出现问题,Maven 就很难遵循。

3)哈德森。到目前为止还没有提到,但绝对值得研究。令人难以置信的可用和积极维护的工具。以前我们花钱买了 Anthill Pro,它看起来很不稳定,每次出问题都很难修复。

4)我们支付jira费用。不便宜,但比我们看到的开源选项更有用,而且也非常灵活。

我的工程堆栈:

  1. Git(我喜欢 GitHub,但 Git 不需要托管解决方案)
  2. CruiseControl.rb
  3. 雾虫

毫无疑问,这些选择受到我的开发堆栈的影响,其中最常见的是 Ruby、Rails、SQLite、Firefox 和 OSX。

您可能想查看我的一个现有问题 寻找团队系统的替代方案. 。里面也有很多推荐。

  1. git
  2. 制作
  3. 克朗
  4. 特拉克

我是一个很少音节的人;-)

请务必使用某种版本控制,开发人员可以轻松地随意创建私有分支,然后将其私有分支压缩到主分支上的单个提交中。这样,个人开发人员(而不是组织)可以获得版本控制的好处,而不会因提交损坏而污染其他人的代码(并减慢他们的工作)。

这个功能正是我喜欢 git 的地方。我认为它只真正存在于分布式版本控制系统中;不过,使用 DVCS 并不意味着您实际上必须进行分布式开发。

关于一步构建,make 是默认的构建工具,它对于大多数任务来说效果都很好。我会同意,除非你有充分的理由不这样做。

您想要每日构建,请将构建命令放入 cron.daily 中。如果需要,设置 procmail 挂钩来处理来自 cron 的邮件。

对于错误跟踪,请使用 $(apt-cache search bug tracking). 。基本上,只要盒子上写着“错误跟踪器”并且您知道其他人正在使用它,它可能会正常工作。常客包括 bugzilla、mantis 和 trac。

我没有任何工具可以建议,但我确实有关于日常构建的建议。我对这个问题总是回答“是”,即使我们没有每日构建。相反,每当有人进行提交时,我们都会进行构建。因此,我们几乎可以立即发现任何问题。如果我们的任何项目有足够的 LOC 以至于构建花费了很多时间,那么这样做也会在日常构建的方向上优雅地降级。

一个相对便宜的好问题跟踪器是 axoSoft 准时. 。在获得 MS TFS 之前我使用它多年。

南特巡航控制 是我的环境的主要内容。

我认为你不再需要在 .Net 上进行混淆(查看另一个回复)

我不会考虑 Vault,SVN 目前确实是市场领导者(而且是免费的)。Git 看起来很有前途,但目前只是命令行,学习曲线陡峭。

MSBuild 在 .Net 2 或 3.5 方面击败了 NAnt

CC.Net 非常棒。

*4) Redmine

我建议 比特纳米 用于测试不同的堆栈。它有 Trac、Redmine 和 Subversion,以及其他几个不相关的。

查看有关使用 MSBuild、CruiseControl.NET、FxCop、NUnit、NCover 和 Subversion 进行持续集成的文章...

来自软件开发战壕

我目前正在使用 SVN,但在签出开发服务器上的网络驱动器时通常会遇到很多问题。往往存在需要大量摸索才能解决的锁定问题。使用 WebDav 访问方法可能会缓解其中一些问题,但我还没有尝试过。

Bugzilla、Trac 或 Fogbugz 中的任何一个都可以帮助您进行错误跟踪,并且每个都提供导出功能,因此您以后可以随时改变主意。此外,如果你能让你的团队完全接受,时间管理软件也可以方便地进行事后分析等(如果每个人都有积极性充分参与的话)。

对于构建自动化和持续集成,请查看 团队城市捷脑公司.

它有很多 特征 设置和使用确实轻而易举。

如果您使用 Visual Studio 2005/2008,它将直接构建您的解决方案,而不需要额外的脚本(如果您只需要构建)。

它还将执行您的单元测试并收集有关构建成功、单元测试执行时间等的统计信息。

最好的:专业版对于最多 20 名用户和 3 名构建代理的团队免费。

  1. 源控制:简历
  2. 构建 gnu make
  3. 调用 bash 脚本的 cron 作业
  4. 布吉拉
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top