A project should have a very simple one-click or one-command process for doing releases to the customer. Releases are often done under critical time pressure and late at night when everyone wants to be home with their families, so it pays to invest a little time early to simplify the process to a single step. You need to be able to:
1) choose a version of the source code to build from the source code control system. Normally this is from a tag of a previously successful build.
2) start the release script with a stamped build number. The release should not require any intervention, so you have time for a coffee or to write up the release notes. When the script finishes, there should be either a large “success” or “failure” message on the screen. An audible tune (depending on the result) works well too.
3) send an email to the customer with the release notes and location of the files.
That's it.