这是我想要做的事情:我的代码放在 Bitbucket 上(它是一个 ASP.net Web 应用程序)。我想组装一台具有基于 Web 的仪表板的构建机器。我去仪表板说:好的,给我看看我的 Bitbucket 项目的所有分支和东西。现在请为我从这个分支获取最新的代码并构建它。然后请为我将它部署到这个位置,或者可能是这个其他位置。我希望这个仪表板也能给我所有这些构建和部署的历史。我对这个概念非常陌生,我一直在阅读有关 CC.net 和 MSBuild 以及其他内容的信息,但我找不到正确的答案。请让我朝着正确的方向前进。
1 回答
构建服务器的意义在于,每次您将某些内容提交到存储库时,它都会自动运行构建。
为了让构建服务器确切地知道要做什么,您通常将构建脚本(使用 MSBuild 或 NAnt)放入您的解决方案中,它可以完成您想要的一切 - 构建您的解决方案,也许创建一个安装包等等。
构建服务器基本上知道存储库在哪里以及构建脚本在存储库中的什么位置。
您需要在构建服务器中配置一次,然后它会在您提交后始终运行(但如果您愿意,您也可以手动启动构建)。
如果您想要使用基于 Web 的仪表板的解决方案,请尝试TeamCity。
它是一种商业产品,但最多可免费供 20 位用户使用。
您可以在 Web 界面中进行所有操作 - 配置、运行构建和浏览构建历史。
编辑:
Houda,关于您关于部署的问题:
我认为 TeamCity 没有这种意义上的“部署模式”。您可以做的是将部署内容包含在由 TeamCity 运行的构建脚本中。
因此,在构建本身完成后,将生成的程序集和文件复制到您的 Web 服务器上。
如果你这样做,你必须在构建脚本中确保部署只会在构建没有失败的情况下发生(如果你有单元测试,如果单元测试也没有失败)。
这对于实时应用程序来说非常重要,因为如果你处理得不够好,每次有人向你的存储库提交“坏”代码时,你的应用程序都会立即离线(并且它会一直离线直到下一个“好“ 犯罪)!!
编辑2:
See Lasse V. Karlsen's comment below: it's more comfortable with the new TeamCity version 6.