How to split tasks between CI Tool (like Jenkins) and a build script (Ant or Maven)?
Our team has some controversy on which tasks should be handled by CI tool and which should be in a build script (we use Ant for building and FinalBuilder for CI).

My thought is that all the tasks which are useful not only on a build server but also on developers/QA machines should be placed to the Ant build script (but I'm not sure about the actual best practices).

For now we have the next list of tasks:

1. update directory (svn update)
2. compile
3. run tests
4. make coverage report
5. run static analyzers and generate reports
6. package (make war-file)
7. deploy to a web-server
8. send email notifications (with linked reports and build status)
9. run DB update tool
10. put a build result (war file and reports) to a special place

(any other CI-common tasks?)

Which tasks would you do by means of your CI tool and which would you place to the build script? 

My approach is next:

Ant tasks: compile, tests, coverage reports, analyzers, package, deploy, DB update.
CI tool: svn update, email notifications, putting build result to a special place.

(ant tasks set is partly inspired by default maven set of tasks).


How to split tasks between CI Tool (like Jenkins) and a build script (Ant or Maven)?
===

Our team has some controversy on which tasks should be handled by CI tool and which should be in a build script (we use Ant for building and FinalBuilder for CI).

My thought is that all the tasks which are useful not only on a build server but also on developers/QA machines should be placed to the Ant build script (but I'm not sure about the actual best practices).

For now we have the next list of tasks:

1. update directory (svn update)
2. compile
3. run tests
4. make coverage report
5. run static analyzers and generate reports
6. package (make war-file)
7. deploy to a web-server
8. send email notifications (with linked reports and build status)
9. run DB update tool
10. put a build result (war file and reports) to a special place

(any other CI-common tasks?)

Which tasks would you do by means of your CI tool and which would you place to the build script? 

My approach is next:

Ant tasks: compile, tests, coverage reports, analyzers, package, deploy, DB update.
CI tool: svn update, email notifications, putting build result to a special place.

(ant tasks set is partly inspired by default maven set of tasks).

