Code Comments
Programming Forum and web based access to our favorite programming groups.Hi all, I'm planning to put in place automated builds / continuous integration for quite large web application. The code is in several technologies: .Net (C#), SQL Server (including some sprocs/functions), JavaScript (heavy on ajax), Flex (connecting to .net services). Any pointers for a beginner?
Post Follow-up to this messageMiika wrote: > I'm planning to put in place automated builds / continuous integration > for quite large web application. The code is in several > technologies: .Net (C#), SQL Server (including some sprocs/functions), > JavaScript (heavy on ajax), Flex (connecting to .net services). Any > pointers for a beginner? cruisecontrol.rb doesn't suck. How are your unit tests? Can you run them all from a command line? And what's your version controller? At work, we didn't have a test server, and our test suites got kind'a long. To integrate, we would run a command line (rake ci m='what we did'), and then take a break. This violates the rule of Continuous Integration. So we installed cruisecontrol.rb on a server, and gave each project an environmental variable option called SLOW_TESTS. I put if SLOW_TESTS=='true' around the slowest test cases, and then enabled that only in CCrb. You can run 'SLOW_TESTS=true rake test' or 'rake ci' from a command line, if you want. Next, I wrote a shell command called 'int'. You call it with int what I did It calls 'svn up' to pull in new changes. Then it runs 'rake test:recent' to run any test suite changed within the last 10 minutes (including any that just up-ed). Then it calls svn ci -m'what I did'. When CCrb sees the change, it svn up's it, then runs all the tests, slowly. When a test run fails, I get... - an e-mail - a Growl notification on both our Mac pairstations - an RSS event. I also configured our CCrb to collect statistics over time. That's a work in progress; here's a report on it: http://www.oreillynet.com/ruby/blog...rol_charts.html Now the question, regarding your alternative tool set, is how much of this stuff will work out-of-the-box for you, and how much you will need to stitch together yourselves! -- Phlip
Post Follow-up to this message> Any pointers for a beginner? Take it one step at a time. There are ways to test SQL, Javascript, web services, etc, but if the tests end up being flaky (intermittent failures on the build server which don't happen on workstations are all too common), then people will just learn to ignore the build server. So I'd start with something simple, for example in roughly this order (with a few ws+ of solid functioning before moving on to the next step): 1. The C# code compiles 2. Fast tests (defined as C# tests which don't need to talk to SQL Server, involve javascript, etc) 3. Add tests which talk to SQL Server 4. Add jsunit tests for the javascript code 5. Add Selenium tests for the javascript plus the server Put up a visible green/red indicator in your team room (for example, a monitor continuously showing a web page which shows green/red big enough so you can see it across the room). I don't know, did you have any more specific questions? Most of this is fairly well covered in articles/books (Paul Duvall's springs to mind, although I've only read parts of it). http://www.amazon.com/gp/product/0321336380/
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.