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.
目前我的任务是做每日构建。我们有一个带有SQL Server 2005后端的ASP.NET 2005网站。我们目前的源代码控制是Visual Source Safe 2005。
At this point, I use the brute-force method of daily builds.
此时,我使用每日构建的强力方法。
- Get Latest version of source code
- Get Latest version of Database release script
- Backup old website files to a directory
- Publish new code to my local machine
- Run on my server to keep the test/stage site working
- Push newly created files to the website
- Run SQL Script on test database (assuming updates, otherwise I don't bother)
- Test website on the Test Server.
获取最新版本的源代码
获取最新版本的数据库发布脚本
将旧网站文件备份到目录
将新代码发布到我的本地计算机
在我的服务器上运行以保持测试/阶段站点正常工作
将新创建的文件推送到网站
在测试数据库上运行SQL Script(假设更新,否则我不打扰)
测试服务器上的测试网站。
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.
看看自动构建的想法引起了我的兴趣,因为这意味着我每天早上做得更少。你会怎么推荐我继续?在我把它呈现给老板之前,我想要一个完全充实的想法。
7 个解决方案
#1
5
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.
沟渠VSS,转向Subversion,并查看CruiseControl.NET。或者,如果您拥有MSDN开发人员许可证,则可以在任何旧的XP机器上运行TFS工作组版本并设置构建服务器。这就是我们在我们的商店所做的。
As Assaf noted, you can use CC.NET with VSS directly. Nice.
正如Assaf所说,您可以直接使用CC.NET和VSS。尼斯。
#2
4
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.
TeamCity对我来说效果很好。它有一个非常简单的设置。将它与MsBuild脚本结合使用,您就可以自动操作了。
#3
4
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.
对于构建管理,我全心全意地推荐TeamCity。它不需要IIS6(就像CC.net一样),因为它运行在它自己的Tomcat副本上,并且设置都是通过各种形式完成的。这对我来说很重要,因为构建服务器只是一个XPPro盒子。它与SVN很好地集成,并且没有疯狂的XML文件操作,就像我与CruiseControl.Net一样。对我来说是一场胜利。
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.
对于构建运行器,我们使用NAnt向各种人发送电子邮件,将打包的构建复制到他们应该去的地方,运行NUnit和NCover,并将软件部署到我们的Web场。
For automated testing we use Watin.
对于自动化测试,我们使用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/
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/
#4
3
Try CruiseControl.Net. It's free, and whatever customized daily/continuous routine you want it to perform you can always add with scripts.
试试CruiseControl.Net。它是免费的,无论您希望它执行什么样的日常/连续例程,您都可以随时添加脚本。
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).
请记住,它不仅仅是关于每日(每晚)构建,而且还关于让你及时捕获构建错误(因为它在每次源提交/签入后不断构建)。您不一定在每个可能的平台和构建配置上测试每个代码机会,但CC可以为您完成(在后台)。
http://confluence.public.thoughtworks.org/display/CCNET/Visual+Source+Safe+Source+Control+Block
#5
2
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.
您正在执行的所有操作都可以由一组批处理文件执行,具体取决于您的测试环境的自动化程度。主批处理文件可以在午夜或其他任何时候作为“计划任务”启动。这就是我们在这里和其他地方“便宜”的方式。如果您需要特定批次的帮助,我可以提供样品。
#6
1
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.
我是Subversion / CruiseControl.net的第二个(或第三个)推荐。此外,如果合适,请查看SVSD的托管服务,如CVSDude。你也可能在这个过程中精通MSBuild。一旦你得到它设置它是伟大的。
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.
从基础开始,逐步改进。与其他任何事情一样,如果你试图通过大量的自动化和功能走出大门,你会发现自己陷入了几个星期的全职。
#7
1
Whatever tools you use, house them in a virtual machine (ie., vmware).
无论使用哪种工具,都将它们放在虚拟机中(即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.
当设备不可避免地向南移动时,您可以将图像复制到任何机器上而不会错过任何一个节拍,因为您的构建服务器决定休假,当然,假设您备份。
#1
5
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.
沟渠VSS,转向Subversion,并查看CruiseControl.NET。或者,如果您拥有MSDN开发人员许可证,则可以在任何旧的XP机器上运行TFS工作组版本并设置构建服务器。这就是我们在我们的商店所做的。
As Assaf noted, you can use CC.NET with VSS directly. Nice.
正如Assaf所说,您可以直接使用CC.NET和VSS。尼斯。
#2
4
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.
TeamCity对我来说效果很好。它有一个非常简单的设置。将它与MsBuild脚本结合使用,您就可以自动操作了。
#3
4
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.
对于构建管理,我全心全意地推荐TeamCity。它不需要IIS6(就像CC.net一样),因为它运行在它自己的Tomcat副本上,并且设置都是通过各种形式完成的。这对我来说很重要,因为构建服务器只是一个XPPro盒子。它与SVN很好地集成,并且没有疯狂的XML文件操作,就像我与CruiseControl.Net一样。对我来说是一场胜利。
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.
对于构建运行器,我们使用NAnt向各种人发送电子邮件,将打包的构建复制到他们应该去的地方,运行NUnit和NCover,并将软件部署到我们的Web场。
For automated testing we use Watin.
对于自动化测试,我们使用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/
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/
#4
3
Try CruiseControl.Net. It's free, and whatever customized daily/continuous routine you want it to perform you can always add with scripts.
试试CruiseControl.Net。它是免费的,无论您希望它执行什么样的日常/连续例程,您都可以随时添加脚本。
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).
请记住,它不仅仅是关于每日(每晚)构建,而且还关于让你及时捕获构建错误(因为它在每次源提交/签入后不断构建)。您不一定在每个可能的平台和构建配置上测试每个代码机会,但CC可以为您完成(在后台)。
http://confluence.public.thoughtworks.org/display/CCNET/Visual+Source+Safe+Source+Control+Block
#5
2
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.
您正在执行的所有操作都可以由一组批处理文件执行,具体取决于您的测试环境的自动化程度。主批处理文件可以在午夜或其他任何时候作为“计划任务”启动。这就是我们在这里和其他地方“便宜”的方式。如果您需要特定批次的帮助,我可以提供样品。
#6
1
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.
我是Subversion / CruiseControl.net的第二个(或第三个)推荐。此外,如果合适,请查看SVSD的托管服务,如CVSDude。你也可能在这个过程中精通MSBuild。一旦你得到它设置它是伟大的。
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.
从基础开始,逐步改进。与其他任何事情一样,如果你试图通过大量的自动化和功能走出大门,你会发现自己陷入了几个星期的全职。
#7
1
Whatever tools you use, house them in a virtual machine (ie., vmware).
无论使用哪种工具,都将它们放在虚拟机中(即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.
当设备不可避免地向南移动时,您可以将图像复制到任何机器上而不会错过任何一个节拍,因为您的构建服务器决定休假,当然,假设您备份。