I have finally started to build a CI server for our project.
during the process, i've examined several build tools and CI servers, such as: CruiseControl\CroiseControl.Net, Ant\nAnt and MSBuild.
these tools have proven themselves enough (just google it..), but one thing similar to all of them was the huge amount of XML configurations that needed to be done in order to get you started.
after a short chat with Nati Dobkin on the subject, he suggested the TeamCity application, this is really a smooth start for the CI, a very modular & user freindly system that allows you to do what you need in the shortest way.
What am i talking about you ask ?
how does the rabit hole got to do with all of this ?
after setting up the environmet, i've started to try get this work with our project.
at first glance, this task should be easy : get the source from TFS, compile, create deployment files, deploy the files.
Q: what do you think will happen if you take your solution to an isolated environment and try to compile it?
A: if project was conducted badly, you'll probably get missing reference errors.
it even get more intresting if those missing Dll's reside in a different workspace(in the TFS), and the only thing that links this project to the other dll's is the physical path ON YOUR HARD DRIVE.
not exactly the right way to go.
Possible solutions:
- preserve the physical link and hold your breath that nothing bad ever happen
- make some order in the TFS server
- create a different solution for each Application\server in the system.
what do you think is the best way to go?
leave a comment.