NAME

scheduled_build.pl - Merges a branched cvs module and runs a script to do a build on it.

SYNOPSIS

scheduled_build.pl branchname [options]

Options:
      --build_script=string     Build script to run at scheduled time
  -d, --cvs_root_dir=string     CVS ext/pserver string
  -m, --cvs_module=string       CVS module name
  -D, --debug=integer           Prints debug messages
      --die_on_fail=boolean     If can't merge, give up rather than roll out
  -h, --help=boolean            Prints a brief help message
  -H, --helplong=boolean        Prints a long help message
      --logfile=string          Logfile to attach to notification message
      --man=boolean             Prints a manual page (detailed help)
      --notify_from=string      Email address for the From field in notices
      --notify_to=string        Email address for the To field in notices
  -q, --quiet=boolean           Keep cvs output somewhat quiet
      --smtp=string             SMTP host for sending email
  -V, --version=boolean         Prints the version and exits
  -Q, --very_quiet=boolean      Keep cvs output very quiet
  -w, --working_area=string     Temporary dir for doing checkout work

DESCRIPTION

scheduled_build.pl is used to perform a checkout of a branched cvs module, merge the branch back into the HEAD, and run a script on it. This script could, for example, perform a rebuild and deployment of a website.

This script is designed to be invoked via 'at' by branch.pl. The commandline options for this script are passed through this interface by branch.pl, so look to it for control of these parameters.

OPTIONS

--build_script

The name (and path if necessary) to the script to be run at the scheduled time. It is expected that this script will attempt to rebuild the website and return an error code if there is a problem.

-m, --cvs_module

The name of the CVS module that has the branch for building.

-d, --cvs_root_dir

This option allows specification of the pserver or ext string to use for CVS checkouts. This is the same as the contents of the CVS/Root variable in your checked out CVS module. It is passed to the cvs commands as `cvs -d $cvs_root_dir command ...`

If this is not set, the value of the $CVSROOT environment variable will be used.

-D, --debug

Prints debug messages. Specify a number from 0 (none) to 5 (all) to indicate the verbosity of debug messaging. Also note that verbosity of the invoked cvs commands can be controlled via the --quiet and --very_quiet options.

-h, --help

Prints a brief help message

-H, --helplong

Prints a long help message

--man

Prints a manual page (detailed help)

-q, --quiet

This passes the '-q' option to cvs, which causes cvs to be 'somewhat quiet'. From the cvs manpage: "informational messages, such as reports of recursion through subdirectories, are suppressed."

--notify_from

The email address to use in the From field of email notices sent about the scheduled build's success or failure.

--notify_to

The email address to use in the To field of email notices sent about the scheduled build's success or failure.

--smtp

The SMTP host to use for sending out emails. This parameter is used by Mail::Sender.

-V, --version

Prints the version and exits

-Q, --very_quiet

This passes the '-Q' option to cvs, which causes cvs to be 'very quiet'. From the cvs manpage: " the command will generate output only for serious problems."

-w, --working_area

This is the directory that the system should use for placing checkouts of the CVS modules. Note that in cases of merge failures, branches will be left in this directory, so give thought to sizing the file system this is on to permit multiple copies of the cvs module to exist here.

See scheduled_build.pl -h for a summary of options.

PREREQUISITES

This script requires the strict module. It also requires foobar 1.00.

COREQUISITES

CGI

SCRIPT CATEGORIES

CPAN/Administrative

BUGS

None known.

VERSION

1..00

Distributed as part of Cvs-Builder.

SEE ALSO

perl(1), tgen , cvswebsite

AUTHOR

Bryce Harrington <brycehar@bryceharrington.com>

http://www.osdl.org/

COPYRIGHT

Copyright (C) 2003 Bryce Harrington. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

REVISION

Revision: $Revision: 1.14 $

1 POD Error

The following errors were encountered while parsing the POD:

Around line 527:

L<> starts or ends with whitespace