【问题标题】:Continuous integration with Tortoise SVN与 Tortoise SVN 的持续集成
【发布时间】:2020-07-22 19:22:44
【问题描述】:

是否可以使用 CI,即与 Tortoise SVN 持续集成?我想自动化 .NET 项目的构建过程。

谢谢, 呸呸呸

【问题讨论】:

  • Tortoise SVN 是 Subversion 的 Windows Shell 扩展。您是说 Subversion 还是您真的希望您的 CI 系统使用 Tortoise SVN?

标签: .net svn tortoisesvn


【解决方案1】:

我强烈建议您查看HudsonJenkins,它们都是我已成功用于 .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 不再维护,并已宣布过时。

【讨论】:

    【解决方案2】:

    我们将 svn 与 msbuild 和 hudson/jenkins 一起用作 CI 的构建服务器。它工作得很好。

    【讨论】:

      【解决方案3】:

      TortoiseSVN 是 svn 客户端的图形前端,因此不容易自动化。

      大多数 CI 服务器都具有使用 SVN 的内置功能 - 我建议您阅读所选工具的文档。

      如果它本身不支持它,您应该使用命令行客户端进行集成以发出命令(使用批处理文件、powershell 等轻松完成)。

      【讨论】:

        【解决方案4】:

        TSVN 是一个供人类使用的客户端应用程序。你需要的是一个可以与 Subversion 交互的 CI 服务器。查看 CruiseControl.NET 或 TeamCity。

        【讨论】:

          【解决方案5】:

          不,您需要使用 CI 工具连接到 SVN 本身 - 如果您是 CI 新手,那么您需要为自己准备一个易于设置和习惯的工具

          我建议尝试 TeamCity 或 Bamboo。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-06-04
            • 2012-06-21
            • 2011-05-26
            • 1970-01-01
            • 1970-01-01
            • 2019-03-08
            • 2010-09-16
            • 1970-01-01
            相关资源
            最近更新 更多