views:

372

answers:

6

Hello,

I've seen many medium and large businesses set up elaborate processes for their software development and testing, be it Windows or Linux-based, web or local, for-profit or internal.

How would a small business or group of developers go about setting up such environment, with minimal software and hardware costs? The idea is have an environment that is easy to setup, learn and administer, can be accessed remotely, allows levels of privileges, prevents code loss, allows for easy testing and integration, is secure from intrusion, and just stays out of the way by letting developers do what they do - write code.

Please be as specific as possible. Answers such as "Use SVN with Apache front-end and backup with FTP to a remote server!" are not helpful.

+1  A: 

I would look at Sourcegear's Fortress. It implements source control and Issue tracking (the 2 vital activities for development IMHO) and is very cost effective.

Check out Sourcegears website.

Brody
A: 

SVN can be really easy to set up. IIRC on Linux you can (sometimes) do the ./config; make; make install; thing and be 90% done. I seem to remember that windows has an even better installer.

BCS
+3  A: 

We are using the following (all installed on a single Linux server)

  • Source control: SVN
  • Issue tracking: Redmine with MySQL
  • Email and document sharing: Google apps
  • Backup: Amazon's S3

For a firewall we use pfSense, which is a based FreeBSD with a web front-end and lots of additional services already packaged in. It is installed on an additional computer with multiple network cards.

We also have a build machine for windows and one for Linux - Build automation - Cruise Control - I'm not 100% about using this. I'm still having some configuration issues, and I'm not sure that continuous build is the right thing. I might settle for semi-automatic builds on the dedicated machine.

Except for backup everything is free and open-source. I'd be happy to give more details if you'd like.

DanJ
Hi Dan. I found about Hudson right before implementing Cruise Control. I was able to get it up and running on Windows with little fuss (1-2 days, intermittently). A lot of users have the same complaint about CC as you, pain to configure. I am very pleased with Hudson.
Tony R
+1  A: 

On aspect that hasn't been covered is documentation. My team finds that a wiki system is the best "stays out of the way" method for capturing documentation. It's searchable, it's modifiable, it's versioned, it's easily backed up.

One great system for this is TRAC. It uses one of the simpler wiki syntaxes out there (moin moin), in my opinion. One giant bonus with trac is that it converges SVN browsing, ticketing and wiki all in one. That means searching can be applied to both your tickets and wiki pages. That is a big aspect of staying out of the way (i.e. by not focing the developer to use multiple systems to capture and search her team's knoweldge).

wykyd
+1  A: 

Take a look at Buildix it's a Live CD containing Subversion, Trac, CruiseControl and Mingle all nicely integrated. Just insert the CD and you can test-drive the distro, if you like it, you can install to the hard drive.

Also, if you don't mind a hosted solution, take a look at Atlassian's JIRA.com - they offer fully integrated Subversion, JIRA, Fisheye, Crucible, Bamboo and Confluence for very reasonable price. When you grow, the migration to your own infrastructure would be trivial.

Another alternative is Collabnet's SourceForge Enterprise Hosted. This is the same infrastructure that powers SourceForge.net and again the migration to private data center should be straightforward.

Buildix is free, but the bundled Mingle supports up to 30 users - when you outgrow it, you would need to migrate your data to something else or purchase a commercial license (which is not exactly cheap). Both JIRA.com and Collabnet are priced at $50/user/month, which makes them very reasonable for small teams (compare this to your beer budget).

My personal preference would be JIRA.com as I like their products and I don't feel like managing yet another box (in the case of Buildix).

ddimitrov
A: 

I believe that we at Ready-to-Run Software have the solution you are looking for to minimize hardware and software costs. Ready-to-Run Software (RTR) maintains a secure facility containing a heterogeneous, backed-up network with an assortment of computer platforms (versions of operating system, equipment manufacturer, and configuration). Currently this center is comprised of over 70 different operating platforms, making it one of the most unique computing facilities anywhere in the world today.

Please visit us at Ready-to-Run Software (www.rtr.com) to learn more of what we have to offer. Go to http://porting-center.com/ for additional information about the benefits of using the RTR Porting Center.

Michael

Michael R. Greene