How can I learn to set up a build process?

369 Views Asked by At

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.

5

There are 5 best solutions below

1
Olivier Verdier On BEST ANSWER

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.

0
Vivin Paliath On

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.

0
Alex Martelli On

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.

0
lindes On

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.

1
burris On

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.