简体   繁体   English

与 Tortoise SVN 持续集成

[英]Continuous integration with Tortoise SVN

Is it possible to have CI ie Continuous Integration with Tortoise SVN?是否可以使用 CI,即与 Tortoise SVN 持续集成? I want to automate the build process for .NET project.我想自动化 .NET 项目的构建过程。

Thanks, Omky谢谢, 奥姆基

I highly recommend you look at either Hudson or Jenkins which are both open source continuous build tools that I've successfully used for .NET environments.我强烈建议您查看HudsonJenkins ,它们都是我已成功用于 .NET 环境的开源持续构建工具。

Tortoise is merely a client program you're using for Subversion and really has nothing to do with continuous builds. Tortoise 只是您用于 Subversion 的客户端程序,实际上与持续构建无关。 However, Jenkins and Hudson both have internal SVN clients, so it's easy for them to see when changes were made to the repository and run a build.但是,Jenkins 和 Hudson 都有内部 SVN 客户端,因此他们很容易看到对存储库进行更改并运行构建的时间。

Hudson/Jenkins have various plugins that you'll find helpful. Hudson/Jenkins 有各种有用的插件。 For example, there's a MSBuild.exe plugin that runs Visual Studio solution files and builds your .NET application.例如,有一个 MSBuild.exe 插件可运行 Visual Studio 解决方案文件并构建您的 .NET 应用程序。 You can run Nant for builds, NUnit tests (and both will produce nice charts), and even deploy from them.您可以运行 Nant 进行构建、NUnit 测试(两者都会生成漂亮的图表),甚至可以从中进行部署。

Hudson/Jenkins are easy to setup and use. Hudson/Jenkins 易于设置和使用。 You can define jobs via a web based interface, and you can probably be up and running within a few hours after downloading them.您可以通过基于 web 的界面定义作业,并且您可能会在下载它们后的几个小时内启动并运行。 Installing extra features via plugins is also very simple.通过插件安装额外功能也非常简单。 You simply select the plugins, and press a button.您只需 select 插件,然后按一个按钮。 I used to use CruiseControl and CruiseControl.NET but switched to Hudson/Jenkins because they simply work a lot better.我曾经使用 CruiseControl 和 CruiseControl.NET,但后来改用 Hudson/Jenkins,因为它们工作得更好。

Their history is a bit muddled at this point.他们的历史在这一点上有点混乱。 The original Hudson project was run by Kohsuke Kawaguchi who worked for Sun Systems.最初的 Hudson 项目是由在 Sun Systems 工作的 Kohsuke Kawaguchi 运营的。 When Sun got bought by Oracle, Kawaguchi went to Cloudbees and took the project with him.当 Sun 被 Oracle 收购时,川口就去了 Cloudbees,把项目带走了。 However, Oracle held the copyright to Hudson, so he renamed the project to Jenkins.但是,Oracle 拥有 Hudson 的版权,因此他将项目重命名为 Jenkins。 Both Hudson and Jenkins projects claim to be the true project and the other is the fork. Hudson 和 Jenkins 项目都声称是真正的项目,另一个是 fork。 However, I use Jenkins because I see that's where most of the activity is for now.但是,我使用 Jenkins 因为我看到这是目前大部分活动的地方。

Update: Since 2017 at least, Oracle's Hudson is no longer maintained and has been announced as obsolete.更新:至少从 2017 年开始,Oracle 的 Hudson 不再维护,并且已被宣布为过时。

We use svn together with msbuild and hudson/jenkins as a build server for CI.我们使用 svn 与 msbuild 和 hudson/jenkins 作为 CI 的构建服务器。 It works great.它工作得很好。

TortoiseSVN is a graphical front end to the svn client and as such not easily automated. TortoiseSVN 是 svn 客户端的图形前端,因此不容易自动化。

Most CI servers have a built in capability to use SVN - I suggest you read the documentation of your chosen tool.大多数 CI 服务器具有使用 SVN 的内置功能 - 我建议您阅读所选工具的文档。

If it doesn't support it natively, you should integrate using the command line client to issue commands (easily done with batch files, powershell etc).如果它本身不支持它,您应该使用命令行客户端进行集成以发出命令(使用批处理文件轻松完成,powershell 等)。

TSVN is a client-side application which is meant to be used by a human. TSVN 是一个供人类使用的客户端应用程序。 What you need is a CI server which can interface with Subversion.你需要的是一个可以与 Subversion 交互的 CI 服务器。 Check out CruiseControl.NET or TeamCity.查看 CruiseControl.NET 或 TeamCity。

no you need to connect to SVN itself using a CI tool - if you are new to CI then you will need to get yourself an easy tool to setup and get used to不,您需要使用 CI 工具连接到 SVN 本身 - 如果您是 CI 新手,那么您需要为自己准备一个简单的工具来设置并习惯

I'd suggest trying out TeamCity or Bamboo.我建议尝试 TeamCity 或 Bamboo。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM