如何以便宜/免费的方式设置构建服务器?

发布于 2024-07-09 09:21:54 字数 434 浏览 8 评论 0原文

目前我的任务是进行日常构建。 我们有一个带有 SQL Server 2005 后端的 ASP.NET 2005 网站。 我们当前的源代码控制是 Visual Source Safe 2005。

此时,我使用日常构建的强力方法。

  1. 获取最新版本的源代码
  2. 获取最新版本的数据库发布脚本
  3. 将旧网站文件备份到目录
  4. 将新代码发布到我的本地计算机
  5. 在我的服务器上运行以保持测试/阶段站点正常运行
  6. 将新创建的文件推送到网站
  7. 运行 SQL 脚本测试数据库(假设更新,否则我不打扰)
  8. 测试服务器上的测试网站。

自动化构建的想法引起了我的兴趣,因为这意味着我每天早上做的事情会更少。 您建议我如何继续? 在将想法呈现给老板之前,我希望有一个完整的想法。

Currently I'm tasked with doing the daily build. We have an ASP.NET 2005 website with a SQL Server 2005 backend. Our current source control is Visual Source Safe 2005.

At this point, I use the brute-force method of daily builds.

  1. Get Latest version of source code
  2. Get Latest version of Database release script
  3. Backup old website files to a directory
  4. Publish new code to my local machine
  5. Run on my server to keep the test/stage site working
  6. Push newly created files to the website
  7. Run SQL Script on test database (assuming updates, otherwise I don't bother)
  8. Test website on the Test Server.

Looking at the idea of automated builds intrigues me since it means that I do less each morning. How would you recommend I proceed? I want to have a fully fleshed out idea before I present it to my boss.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

凯凯我们等你回来 2024-07-16 09:21:54

放弃 VSS,转向 Subversion,并查看 CruiseControl.NET。 或者,如果您拥有 MSDN 开发人员许可证,可以运行 TFS 工作组版本并在任何旧 XP 机器上设置构建服务器。 这就是我们在我们店里所做的。


正如 Assaf 所指出的,您可以直接将 CC.NET 与 VSS 结合使用。 好的。

Ditch VSS, move to Subversion, and check out CruiseControl.NET. Alternatively, if you have a MSDN developer license, you can run TFS workgroup edition and set up a build server on any old XP box. Its what we do at our shop.


As Assaf noted, you can use CC.NET with VSS directly. Nice.

时光无声 2024-07-16 09:21:54

TeamCity 对我来说效果很好。 它有一个非常简单的设置。 将其与 MsBuild 脚本结合起来进行操作,您就可以自动完成操作。

TeamCity has worked well for me. It has a very simple setup. Combine it with an MsBuild script for your operations and you're auto-matic.

冰火雁神 2024-07-16 09:21:54

对于构建管理,我衷心推荐 TeamCity。 它不需要 IIS6(像 CC.net 那样),因为它在自己的 Tomcat 副本上运行,并且所有设置都是通过各种形式完成的。 这对我来说很重要,因为构建服务器只是一个 XPPro 盒子。 它与 SVN 集成得很好,并且没有像我在 CruiseControl.Net 中所做的那样疯狂的 XML 文件操作。 对我来说是巨大的胜利。

对于构建运行程序,我们使用 NAnt 向不同的人发送电子邮件,将打包的构建复制到他们应该去的地方,运行 NUnit 和 NCover,并将软件部署到我们的网络场。

对于自动化测试,我们使用 Watin。

http://www.nunit.org/index.php
http://www.jetbrains.com/teamcity
http://ncover.sourceforge.net/
http://subversion.tigris.org/
http://nant.sourceforge.net/
http://watin.sourceforge.net/

For build management I wholeheartedly recommend TeamCity. It doesn't require IIS6 (like CC.net does) since it runs on it's own copy of Tomcat and the setup is all done thru various forms. This is a big deal to me since the build server is just an XPPro box. It integrates well with SVN and there is no crazy XML file manipulation like I had to do with CruiseControl.Net. Big win for me.

For a build runner we use NAnt to send emails to various people, copy the packaged builds where they're supposed to go, run NUnit and NCover, and deploy the software to our web farm.

For automated testing we use Watin.

http://www.nunit.org/index.php
http://www.jetbrains.com/teamcity
http://ncover.sourceforge.net/
http://subversion.tigris.org/
http://nant.sourceforge.net/
http://watin.sourceforge.net/

若相惜即相离 2024-07-16 09:21:54

尝试 CruiseControl.Net。 它是免费的,无论您希望它执行什么定制的日常/连续例程,您都可以随时添加脚本。

请记住,这不仅仅是每天(每晚)构建,还包括让您及时捕获构建错误(因为它在每次源提交/签入后持续构建)。 您不必在每个可能的平台和构建配置上测试每个代码机会,但 CC 可以为您做到这一点(在后台)。


http://confluence.public.thoughtworks。 org/display/CCNET/Visual+Source+Safe+Source+Control+Block

Try CruiseControl.Net. It's free, and whatever customized daily/continuous routine you want it to perform you can always add with scripts.

Remember, it's not just about daily (nightly) builds, but also about letting you catch build errors in time (since it continuously builds after every source commit/check-in). You don't necessarily test every code chance on every possible platform and build configuration, but CC can do exactly that for you (in the background).


http://confluence.public.thoughtworks.org/display/CCNET/Visual+Source+Safe+Source+Control+Block

路弥 2024-07-16 09:21:54

您正在做的所有事情都可以通过一组批处理文件来执行,具体取决于您的测试环境的自动化程度。 主批处理文件可以在午夜或其他时间作为“计划任务”启动。 这就是我们在这里和我工作过的其他地方“廉价做事”的方式。 如果您需要特定批次的帮助,我可以提供样品。

All of what you are doing can be performed by a set of batch files, depending on how automated your test environment is. The main batch file can be started as a 'scheduled task' at midnight or whatever. That's how we 'do it cheap' here and at other places I've worked. If you need help with a particular batch, I can provide a sample.

離殇 2024-07-16 09:21:54

我第二(或第三)推荐 Subversion/CruiseControl.net。 另外,如果合适的话,请查看 SVN 的托管服务,例如 CVSDude。 您也可能会在此过程中熟悉 MSBuild。 一旦你完成设置,那就太棒了。

成本不一定来自工具甚至硬件的许可,而是来自您构建和维护系统的时间 - 并且根据您正在做的事情,这可能会变得很重要。

从基础开始,随着时间的推移逐步改进。 与其他任何事情一样,如果您尝试使用大量自动化和功能走出大门,您可能会发现自己陷入其中数周。

I second (or third) the reccomendation for Subversion/CruiseControl.net. Also, if it is appropriate, check out hosted services for SVN like CVSDude. You'll probably become well versed with MSBuild in the process too. Once you get it setup it is great.

The cost doesn't come from licensing of the tools or even hardware necessarily, but from your time building and maintaining the system - and depending on what you are doing, that could become significant.

Start with the basics and incrementally improve it over time. Like anything else, if you try to come out of the gate with lots of automation and functionality you could find yourself mired in it fulltime for weeks.

叫嚣ゝ 2024-07-16 09:21:54

无论您使用什么工具,都将它们放置在虚拟机(即 vmware)中。

当设备不可避免地出现故障时,您可以将映像复制到任何机器上,而不会错过任何一个节拍,因为您的构建服务器决定休息一天,当然假设您进行了备份。

Whatever tools you use, house them in a virtual machine (ie., vmware).

When the equipment inevitably goes south, you can copy the image onto any machine and not miss a beat because your build server decided to take the day off, assuming of course, you back up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文