views:

160

answers:

5

Hi, all.

What I was taught at school is all about programming languages, software design, but hardly anything about how to automatically build a software, probably with something like unit testing integrated.

Please tell me how do one start learning to set up a build process for his project.

If this is too abstract to make any sense, I would add that I use Python and do web programming with Django.

Thanks in advance.

+2  A: 

If you're doing this in Java, you can check out Maven. There are a host of tutorials for it:

All of this falls under the category of Software-Development Principles, Software-Design Philosophy, Software-Configuration Management, and Build and Release Management:

It's a moderately-involved field. After years of programming, I'm still learning and understanding new things about build-management and software-configuration management.

Vivin Paliath
+6  A: 

I like a couple of Pragmatic Programmers' books on this subject, Ship it! and Release it!. Together, they teach a lot of real-world, pragmatic stuff about such things as build systems and how to design well-deployable programs.

Alex Martelli
+1 thanks for those references!
Vivin Paliath
+1  A: 

While this is certainly not a complete answer to your question, I would like to recommend very highly the learning of the tool 'make'. I find myself using it on a VERY regular basis, for a wide variety of tasks, including (but by no means limited to) building, testing, and deploying software.

lindes
+1  A: 

For Python projects you should use setuptools. Setuptools has all the stuff to pack things up into .eggs, compile C modules, run unit tests, etc... If you've ever done "python setup.py [build|install|test]" then you've used setuptools.

burris
Where can I find resource about how to use setuptools?
Satoru.Logic
+2  A: 

I think that the process you are referring to is called continuous integration.

One of the popular tools for that is Hudson (see Hudson with django). Make sure to also check out the django-continuous-integration project.

Olivier
Thanks, Oliver. This is a good start for me.
Satoru.Logic