What's the recommended setup for a small .net / php development store?
First of all, I don't know if this is relevant to this question if not tell me.
I recently turned from a freelancer to a small .net / php development store and we are trying to figure out what the best tools for team development would be (code repository, continuous integration server, automated testing, etc.) ..
Do you have a recommendation, preferably open source or low cost, as we start. (We already have a visual studio for all team members).
a source to share
As others have said, CruiseControl is required. Also, make sure you get NUnit for automated testing and possibly WatiN if it suits your needs. Also, NCover is good to have, but I think they are charging for it now.
Also consider getting RedGate Ants for performance testing. It costs money, but it saves you a lot of time crowding out performance issues, so it pays very quickly.
There are many guidelines for managing DVCS sources like Git and Mercurial, but look at resource allocation options with less allocation anyway. As with Agile, some DVCS evangelists may tell you that this is the only correct way to do it, and that if you are using old-fashioned systems, you are a dinosaur that will quickly go out of business. Of course, this is nonsense, and traditional version control systems like SVN and Vault work very well, especially if you're a small store that doesn't have too many forks and forks. Personally, I prefer Vault because it is more end-user friendly, it integrates more cleanly into Visual Studio, the inevitable branching and merging is easier, and it's ridiculously simple to set up. However, SVN is free.and Vault costs about $ 300 / user, but in my experience we saved a few multiples of that because of the time savings with Vault. Regardless, just don't use SourceSafe or CVS.
If you already have Visual Studio Team System tools, you might be tempted to use them, but I would recommend staying away from them unless you have had a lot of time to kill, if you really need an ulcer. My company is a member of BizSpark, so we get a lot of TFS licenses and all their supporting tools (build, automated testing, benchmarking, etc.), and we don't use ANY of them. TFS is a huge time, requiring a tremendous amount of setup and maintenance effort (I wasted a few days trying to get it to work, just imagine what the cost is) and the other tools don't match the existing components they were intended to replace. Their build server is not as good as Cruise Control, their unit testing components are not as good,like NUnit, their performance testing isn't as good as ants, etc.
We use BugNet to track bugs, mainly because it was free and based on .NET, but it's pretty limited and I'm sure there are many other good ones. JIRA works very well and includes more project management functionality, but I think it costs a hefty amount of money.
If you're ever going to prepare a screenshot or a mockup for a proposal or design document, use Balsamiq. I forget it's worth it, but it's great and worth it.
If you're going to write blogs, WordPress is really easy to set up, free, and has tons of professional plugins and skins for free.
a source to share
You can take a look at Microsoft WebsiteSpark :
Does your company have 10 or fewer employees? Get Windows Web Server and SQL Server Web Edition Free to Host New Web Sites
* A one-time program fee of $ 100 must be paid at the end of or at the end of the three-year term.
a source to share
-
CruiseControl.Net is a popular CI server. I've never set it up, but I find the documentation to be thorough. Make sure all your developers get CCTray to get immediate build notifications. I'm not sure if you will need to write a build script for PHP projects or not, but I'm sure it would be possible if needed.
-
An SVN server with a TortoiseSVN client is probably the most common source control system to configure with, although a lot of people are switching to Git.
a source to share
For version control, I like Subversion, + TortiseSVN + VisualSVN
http://subversion.tigris.org/
http://tortoisesvn.tigris.org/
http://www.visualsvn.com/
Subversion and Tortise are free !, and VisualSVN is only $ 50 per license (but you shouldn't be using Visual-SVN, it's just VS integration ... not needed as far as I know).
Here is a tutorial and installation guide for all three products.
http://www.west-wind.com/presentations/subversion/
and more ...
http://www.dev102.com/2008/10/07/how-to-use-the-svn-client-and-start-working-with-your-subversion-version-control/
a source to share
If you are a relatively new and small company, you should be able to get quality infrastructure for very little money. It uses a combination of excellent open source materials and quality commercial tools that are offered for startups. The stack is Visual Studio ($ 100 via Bizspark) + Jira / Green Hopper + Teamcity + Git / Github + Confluence. This will get you started for $ 50 for up to 10 users, plus $ 12- $ 22 per month for github. You can run this infrastructure on a single server, which is in the $ 2000 price range. We've been using this stack for a while and it was a pretty good experience.
I recently wrote a blog post about software infrastructure for small (distributed) ISVs: ISV software infrastructure on a tight budget . It has all the links to said tools and more.
a source to share
For continuous integration servers, there are two good options here:
- CruiseControl.NET is a free open source tool implemented in .NET. It has taken some recent steps in terms of usability. It is used in production environments and is probably the most reliable choice among FOSS. It works best in the NAnt ecosystem, NUnit, N *.
- JetBrains TeamCity is commercial software, but they offer their "professional" version for free. This has some limitations, but it makes sense for a small team. You can use all the features of the paid version. This is a breeze to customize and support most common tools out of the box.
To control the source:
- Mercurial , Git : These are the most popular DVCS. See related posts like this one for more details .
- SVN
a source to share
-
Visual Studio Professional up either via WebSiteSpark or via - hm - good - corresponding action pack (Dedelopment and Design subscription) - costs very little per employee.
-
Use TFS to build. Beautiful.
-
http://www.jcxsoftware.com/vs.php is a PHP plugin for Visual Studio;)
One integrated toolbox. This is really nice as it maintains a service - no need to check 30 or so sites.
Get a GOOD computer (quad core, 16GB RAM), install windows server there, add hyper-v and then add nothing but domain controller, file server in hyper-v instances. Make separate instances for SQL, TFS, TFS build envieonment, and you have something REALLY stable. I have one of those bugs here - 16gb, quad core, 8 hard drives on a SAS controller. Flexibility is pure.
a source to share