gecko-dev/webtools/tinderbox2/Install

119 строки
5.3 KiB
Plaintext
Исходник Обычный вид История

Currently this is Alpha/Beta code, because no one but me is using it
yet (and even I am not using all the features I have tested). If you
are not really comfortable coding in perl I suggest you wait until
more people are using it and we get the minor kinks worked out of the
code and documentation.
To install:
1) read and edit the variables found in the files ./src/lib/* particularly:
TinderConfig.pm: general configuration settings
TreeData.pm: version control configuration
2000-11-29 22:47:38 +03:00
These modules will take some programming experiance to configure
Error_Parse.pm: the regular expressions for highlighting errors
FileStructure.pm: filesystem (storage) and global/per-project settings
BTData.pm: bug tracking configuration
2000-11-29 22:47:38 +03:00
2) Run configure. You may wish to change the default directories in
configure for some of the makefile variables. When configure is done
you will have a Makefile and a config.out. Please read config.out and
make any changes which need to be made for your system.
2000-11-29 22:47:38 +03:00
3) run ./configure to generate a Makefile. Although Tinderbox
consists entirely of perl scripts we must substitute some values into
the source code to make it executable.
2000-11-29 22:47:38 +03:00
4) run make to create executable versions of the source code.
2000-11-29 22:47:38 +03:00
5) run the test programs as described in /build/test/ReadMe to ensure
that you have configured the program correctly.
2000-11-29 22:47:38 +03:00
6) run make install
2000-11-29 22:47:38 +03:00
7) set up a cron job to run $prefix/bin/tinder.cgi --daemon-mode
2000-09-10 21:33:42 +04:00
every five minutes.
set up a cron job to run $prefix/bin/tinder.cgi/rmlogs once a day.
six am is a good time to run this as the machine load is usually light
and will avoids any day light savings problems.
2000-11-29 22:47:38 +03:00
8) set up the $prefix/bin/processmail* programs to receive the
incoming tinderbox mail. The process id which receives and process
the mail must be the the same id which runs the tinderbox cron job to
prepare the web pages. Usually this set up is accomplished by having
the MTA (Sendmail) pass mail for particular accounts into a script.
This can be configued via a global configuration file (Sendmail alias
file) or via a .forward file (each account gets the same user id but a
different home directory, each home directory gets a .forward to cause
incomming mail to be delivered through the correct tinderbox mail
processing program).
If it is not possible to have mail delivery on your web machine and to
have your web machine deliver specific mail through a program then I
suggest you use fetchmail to simulate this delivery format. Download
fetchmail (from http://tuxedo.org/~esr/fetchmail) and install it on
your webserver. Have the mail sent to any pop/imap mail server which
is accessible from the webserver. Configure fetchmail to gather the
mail from the mail server and pass it through to the correct mail
processing program. You should keep the polling interval short (30
seconds) as long polling intervals will cause delays in the tinderbox
system and limit how quickly users see the new data. If the polling
interval is too short then you will overload your pop server with
needless queries. Fetchmail should run under the same id as the
tinderbox server. The fetchmail configuration file will look
something like:
poll mail.provider.net with proto pop3:
user "tinderbox_builds" there has password "u can't krak this"
is tinder here and wants mda "$prefix/bin/processmail_builds"
We use the mail address 'tinderbox_builds' for build information
destined for the webserver. Similarly the bug tracking system should
send mail to 'tinderbox_bugs'. Currently I have a program called
'processmail' it will eventually be renamed to 'processmail_builds' so
that it is clear what mail it is processing. (Originally there was
only one mail processing program.) The bug tracking mail is parsed by
the script processmail_bugs.
2000-11-29 22:47:38 +03:00
9) if you are using VC_CVS.pm then you will need to put a ~/.cvspass
2000-08-11 04:27:27 +04:00
for tinderbox to use. Log into the CVS repository yourself, once for
each tree you have defined. The login command must use the
hostname/modules exactly as you wrote it in TreeData. Then copy your
~/.cvspass into the tinderbox server user id's home directory. This
must be the REAL home of the Tinderbox daemon, as listed in
2000-08-11 04:27:27 +04:00
/etc/passwd/ and set in the $HOME environmental variable for
tinder.cgi.
2000-11-29 22:47:38 +03:00
10) setup the build machines to mail their build logs (with tinderbox
variables on the top) to the web server machine. New builds must not
start earlier then 6 minutes after the last build started. Each build
machine mails the build log of each build and puts some build data at
the top of the log. Build information includes whether the build was
a success, which error parsers to use on the log file and what build
this is. The mail processing program has a help file (--help) which
details the format it knows how to accept.
2000-11-29 22:47:38 +03:00
11) Set up the bug tracking system to send mail to 'tinderbox_bugs' on
the webserver machine whenever a Bug ticket changes state. It is not
interesting to see which tickets are being worked on, so restrict
mailing to changes in ticket state not updates (edit) of a ticket.
2000-11-29 22:47:38 +03:00
12) Check that the time on your webserver, your version control
machine, your bug tracking machine and your build machines are all in
2000-11-29 22:47:38 +03:00
sync. Check that mail if build mail bounces on any of the above
machines that it will be recieved by someone who can act on it.