Wiki source code of Automating Application Deployment From Hudson
Version 44.1 by David Avendasora on 2010/11/30 06:51
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | With the combination of the [[Hudson>>http://hudson-ci.org/]] continuous integration server and the [[REST Routes and Direct Actions>>Wonder JavaMonitor and wotaskd]] that have been added to Project Wonder's JavaMonitor you can automatically deploy from Hudson directly to your app servers | ||
| 2 | |||
| 3 | Included as an attachment to this page is a small Perl script that I demonstrated at WOWODC 2010. This script will take a build out of Hudson and deploy it to your wotaskd/JavaMonitor server. It will also add the app and create an instance if the app is not found in wotaskd. | ||
| 4 | |||
| 5 | You need to: | ||
| 6 | |||
| 7 | 1. Install a few CPAN Modules on your Hudson host | ||
| 8 | |||
| 9 | {{code title="Required CPAN Modules"}} | ||
| 10 | |||
| 11 | perl -MCPAN -e 'install REST::Client' | ||
| 12 | perl -MCPAN -e 'install JSON' | ||
| 13 | perl -MCPAN -e 'File::Rsync' | ||
| 14 | perl -MCPAN -e 'Net::SSH::Perl' | ||
| 15 | |||
| 16 | {{/code}} | ||
| 17 | |||
| 18 | Installing Net::SSH::Perl on Ubuntu is a bit of a pig. I found these [[instructions>>http://www.csclug.org/?q=node/128]] helpful. | ||
| 19 | |||
| 20 | 1. Install the [[attached Perl script>>Automating Application Deployment From Hudson^wodeploy.pl]] on your Hudson host | ||
| 21 | 1. Install the Hudson [[Batch Tasks Plugin>>http://wiki.hudson-ci.org//display/HUDSON/Batch+Task+Plugin]] using Hudson's built-in Plugin Manager (**Manage Hudson** > **Manage Plugins**) | ||
| 22 | 1. In your Hudson job, create a new Batch Task with the following call: | ||
| 23 | |||
| 24 | {{code title="Add This as a Batch Task to your Hudson Job"}} | ||
| 25 | |||
| 26 | /path/to/wodeploy.pl -U http://your.womonitorserver.com:56789/cgi-bin/WebObjects/JavaMonitor.woa -n ${APPLICATION_NAME} -P ${WORKSPACE}/Projects/Application/dist/${APPLICATION_NAME}.woa -W ${WORKSPACE}/Projects/Application/dist/Split/WebObjects/${APPLICATION_NAME}.woa -p yourMonitorPassword | ||
| 27 | |||
| 28 | |||
| 29 | {{/code}} |