But it was so hard to build a test grid that DTR only did job of running test in distributed process. The hard part is synchronizing codebase within grid, which I thought Distributed SCM could help.
DTR is also supposed to be used in an internal network that you never need to care about the network performance when you are running test. My team member got problem with working at home for he need run a long time test suite to commit code. One idea for fixing this problem is to use a CI tool to act as him in the office, and what he need to do is push his code to the codebase monitored by the CI. Yes, a pre-commit build. This actually is good for whole team.
So I get impetus to improve DTR. And here is new release which provides new features for setting up more stable and maintainable test grid.
Release 1.0.0 Changes:
* support synchronizing codebase
* lookup agents by broadcast
* group agents for different project or environment usage
* no need launch dtr rinda server anymore
* agents log would be output into master process log
You can find more info at here: https://github.com/xli/dtr/tree
-------------
Our new test grid built on CC.rb + Git + DTR is working well for a while.
You may like to get a try, here is WPC's branch of CC.rb which fixed some Git plugin problems: http://github.com/wpc/cruisecontrol.rb/tree/master
It just need:
- Make your project work with CC.rb + Git
- Change your test task to be dtr test task. Of course, you need launch some DTR agent within your local network.
- Create cc projects for your team members, one member one project.
What's next release
On Mingle project, we have script to make our test run in different process with different database, so that DTR doesn't handle running test in multi-processes with independency database for Rails project. I think it is a worth work.
You can see the progress here: http://github.com/xli/dtr/tree/v1.1.0
-

0 comments:
Post a Comment