

Ask HN:Infrastructure for a software project - liangzan

Hi,<p>I'd be leading a new project soon. And I've been pondering over what are the basic infrastructure for a software project. These are the stuff that I think every project should have:<p>-Coding style conventions<p>-Naming conventions<p>-Standard project directory structure(eg maven standard dir layout, etc)<p>-Project management and issue tracking(eg trac, redmine, etc)<p>-Continuous Integration server(eg, hudson, cruise control, etc)<p>I'm not sure if I missed out anything. Would anyone like to add?
======
jwilliams
If you're in this stage of setting up, there are a lot of (free) virtual
machines (virtual appliances) that will do a lot of what you need.

You can spin up a VM that's got linux and already installs of things like SVN,
Trac, etc, etc. Run them on something like VMWare Server (free) and you're all
set in mins/hours.

There are a lot of VMWare based ones listed here:
<http://www.vmware.com/appliances/>

Really handy and can save a lot of time.

If you're working remotely, or at disparate or varying locations, I'd
recommend the Hamachi VPN software (www.hamachi.cc). The Linux and Mac clients
are very basic, but still work well.

With this kind of setup we can take VMs of all the infrastructure, drop them
anywhere and still work. We can take our laptops home, move house, sit in a
cafe, go overseas and still check code in and out. All been very handy.

------
haasted
A common image for the developer machines.

You'll easily lose a week per developer (especially ones that may join the
project later) if each one is himself responsible for setting up development
environment, support tools, off-line documentation etc.

------
davidw
Version control, of course.

------
prakash
You might want to read Cal Henderson's book _Building Scalable Web Sites_ :
<http://www.amazon.com/dp/0596102356/>

------
known
<http://sourceforge.net/projects/alexandria-dev/>

