【发布时间】:2020-07-22 19:22:44
【问题描述】:
是否可以使用 CI,即与 Tortoise SVN 持续集成?我想自动化 .NET 项目的构建过程。
谢谢, 呸呸呸
【问题讨论】:
-
Tortoise SVN 是 Subversion 的 Windows Shell 扩展。您是说 Subversion 还是您真的希望您的 CI 系统使用 Tortoise SVN?
标签: .net svn tortoisesvn
是否可以使用 CI,即与 Tortoise SVN 持续集成?我想自动化 .NET 项目的构建过程。
谢谢, 呸呸呸
【问题讨论】:
标签: .net svn tortoisesvn
我强烈建议您查看Hudson 或Jenkins,它们都是我已成功用于 .NET 环境的开源持续构建工具。
Tortoise 只是您用于 Subversion 的客户端程序,实际上与持续构建无关。但是,Jenkins 和 Hudson 都有内部 SVN 客户端,因此他们很容易看到对存储库进行更改并运行构建的时间。
Hudson/Jenkins 有各种有用的插件。例如,有一个 MSBuild.exe 插件可以运行 Visual Studio 解决方案文件并构建您的 .NET 应用程序。您可以运行 Nant 进行构建、NUnit 测试(两者都会生成漂亮的图表),甚至可以从中进行部署。
Hudson/Jenkins 易于设置和使用。您可以通过基于 Web 的界面定义作业,并且您可能会在下载它们后的几个小时内启动并运行它们。通过插件安装额外功能也非常简单。您只需选择插件,然后按一个按钮。我曾经使用 CruiseControl 和 CruiseControl.NET,但后来改用 Hudson/Jenkins,因为它们工作得更好。
他们的历史在这一点上有点混乱。最初的 Hudson 项目由在 Sun Systems 工作的 Kohsuke Kawaguchi 负责运营。 Sun 被甲骨文收购后,川口前往 Cloudbees 并带走了这个项目。但是,甲骨文拥有 Hudson 的版权,因此他将项目重命名为 Jenkins。 Hudson 和 Jenkins 项目都声称是真正的项目,另一个是 fork。但是,我使用 Jenkins 是因为我发现这是目前大部分活动的地方。
更新:至少从 2017 年开始,Oracle 的 Hudson 不再维护,并已宣布过时。
【讨论】:
我们将 svn 与 msbuild 和 hudson/jenkins 一起用作 CI 的构建服务器。它工作得很好。
【讨论】:
TortoiseSVN 是 svn 客户端的图形前端,因此不容易自动化。
大多数 CI 服务器都具有使用 SVN 的内置功能 - 我建议您阅读所选工具的文档。
如果它本身不支持它,您应该使用命令行客户端进行集成以发出命令(使用批处理文件、powershell 等轻松完成)。
【讨论】:
TSVN 是一个供人类使用的客户端应用程序。你需要的是一个可以与 Subversion 交互的 CI 服务器。查看 CruiseControl.NET 或 TeamCity。
【讨论】:
不,您需要使用 CI 工具连接到 SVN 本身 - 如果您是 CI 新手,那么您需要为自己准备一个易于设置和习惯的工具
我建议尝试 TeamCity 或 Bamboo。
【讨论】: