Version control, deployment and continuous testing in a single-person devteam (.NET platform)
I am the only developer in my company, and as such I control everything from deployment to bugfix to new features. My tool of choice is VS2010 and I code primarily in ASP.NET for new features and Classic ASP (sigh) for the bugfixes. I only have VS2010 Pro and I do not have access to any of the MS Team software.
Now we are setting up a new product开发者_C百科ion environment as we are moving and therefore I want to get into some new routines and habits. I currently do a lot of the bugfix directly in production code.. Not so good.
Our application and it's friends are very good candidates for some kind of continuous integration. However, since I do everything myself, I might be doing other work when a bug gets reported, and so my codebase is not ready for deployment.
I am currently trying to utilize GIT for this purpouse, using it's branches and such, and this works kind of ok most of the time, but it's a bit tedious.
Can anyone recommend a good book or some good links that deal with these issues? I realize that this whole question got kind of obfuscated, but I think you can deduct a point after reading it :)
My current devenvironment consists of Windows 7 running VS2010 and cygwin for GIT.
From you question is seems that you're missing a CI (Continuous Integration) process in palce to guard you against regression bugs.
I suggest using TeamCity server - it's easy to install and maintain and you should be up and running in no time.
Part of your development process should be writing tests - you can use the unit testing framework that is bundled with VS - called MSTest which TeamCity can run on each commit to make sure that nothing was broken.
Also you can use CruiseControl.NET for continuous integration process. With CC.Net you can always see the actual statistics, code coverage, unit tests results, receive an information by email, etc. Something about git branches - here
Hands down... I would go with Hudson for your CI needs. I could go on and on about the virtues of it compared with Cruise Control, but all I can say is download it (open source) and see for yourself.
It takes no time at all to get up and running, and there are plugins for everything
The first time I ever used Hudson I had a build up and running in about 10 minutes.
Los Techies Has some good GIT posts for windows developers.
There is also this screencast.
While you are at it I'd also suggest Continuous Integration. This one is with Hudson. Made for and in Java but works with .NET too. There is also Jetbrains Team City which is free up to a certain amount of projects. Though Not sure how any CI will work with plain ASP. I'm sure there are topics out there about it.
Tekpub has a full series for Git: Mastering Git.
The way I read your post was that is not so much about issues with deployment and continuous integration, but more on how to make sure I have the appropriate version(s) to do hot fixes / push changes / run continuous integration against. All that, while still working normally on longer term changes.
精彩评论