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
AUTHOR
Bryce Harrington <brycehar@bryceharrington.com>
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