Changes between Version 25 and Version 26 of BuildServerSetup


Ignore:
Timestamp:
Jul 26, 2009, 9:10:41 PM (15 years ago)
Author:
Philip Taylor
Comment:

partially update autobuilder description

Legend:

Unmodified
Added
Removed
Modified
  • BuildServerSetup

    v25 v26  
    66
    77 * The server runs on [http://aws.amazon.com/ec2/ Amazon EC2].
    8  * The server has Windows Server 2003, VC++ 2008, SVN, Perl, and nothing else installed.
     8 * The server has Windows Server 2003, VC++ 2008, SVN, Perl, and little else installed.
    99 * The server has a persistent [http://aws.amazon.com/ebs/ EBS] disk with the SVN checkout.
    10  * On startup, the server runs a script. The script updates SVN, builds, saves the log output somewhere, and if it was successful then it commits the new binaries.
    11  * Some other server runs some kind of script that provides an authenticated web interface to (re)start the build server, and terminates it after some period of time when it's done.
     10 * On startup, the server runs a script. The script updates SVN, builds, saves the log output to S3, and if it was successful then it commits the new binaries.
     11 * A permanent non-Windows server runs some scripts that provide an authenticated web interface to (re)start the build server, and terminate it after some period of time when it's done.
    1212
    1313All code is [source:/ps/trunk/source/tools/autobuild2 available in SVN]. (Only configuration files with private data are excluded.)
     
    2323 * Install [http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi ActivePerl].
    2424 * Install [http://search.cpan.org/~jkim/Net-Amazon-EC2-0.09/ Net::Amazon::EC2], [http://search.cpan.org/~tima/Amazon-S3-0.441/ Amazon::S3], DateTime::Format::ISO8601 using the Perl Package Manager.
    25  * Download [http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx SDelete], extract into `c:\bin`.
    26  * Download [http://technet.microsoft.com/en-us/sysinternals/bb897438.aspx Sync], extract into `c:\bin`.
    27  * Create the registry key `HKEY_USERS\S-1-5-18\Software\Sysinternals\Sync`, set DWORD `EulaAccepted` = `1`. (Yay.)
     25 * Download [http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx SDelete], extract into `c:\bin`
     26 * Download [http://technet.microsoft.com/en-us/sysinternals/bb897438.aspx Sync], extract into `c:\bin`
     27 * Create the registry key `HKEY_USERS\S-1-5-18\Software\Sysinternals\Sync`, set DWORD `EulaAccepted` = `1`
    2828 * Attach the EBS disk.
    2929 * If the disk hasn't been set up already: Administrative Tools -> Computer Management -> Disk Management -> Disk 2 -> Initialize Disk, New Partition -> drive letter E.
     
    3535 * Set up `c:\0ad\autobuild\aws.conf`:
    3636  * `aws_access_key_id`, `aws_secret_access_key` are from your Amazon account.
    37  * Set up the build runner server's `run.conf` (which will be copied to the build server on startup):
     37 * Set up the build-runner server's `run.conf` (which will be copied to the build server on startup):
    3838  * `ebs_volume_id` is from the EBS volume you created.
    3939  * `svn_username`, `svn_password` are the SVN login details.
     
    4545  * Defragment drive C.
    4646  * `c:\bin\sdelete -c c:`
    47   * Bundle into `s3://wfg-autobuild-images/vc2008`.
     47  * Bundle into `s3://wfg-autobuild-images/vc2008`
    4848  * Register the bundle as an AMI.
    4949 * Set up `manage.conf` on the build-runner server:
     
    5252== Build script ==
    5353
    54 The initial part (stored on the image on S3) does something like:
    55  * `ec2-attach-volume` to attach the EBS disk.
     54The [source:ps/trunk/source/tools/autobuild2/startup.pl startup.pl] script (stored on the image on S3) does the following:
     55 * Create `d:\0ad`. (The script might run before the data disk has been mounted on `d:`, so it repeats until it's successful.)
     56 * Download the EC2 ''user data'' resource, then unzip it and execute its `run.pl`.
     57The ''user data'' contains [source:ps/trunk/source/tools/autobuild2/run.pl run.pl] and [source:ps/trunk/source/tools/autobuild2/run.conf run.conf.example], uploaded by the build-runner script. `startup.pl` is hard to modify (since it's frozen into the bundle), so it does as little as possible and defers to `run.pl` for most of the work.
     58
     59`run.pl` does something like:
     60 * Start writing logs on S3.
     61 * Attach the EBS disk to the machine.
    5662 * `svn up` on the EBS disk.
    57  * Run the rest of the build script from the SVN directory.
    58 The rest of the build script does:
     63 * Run the rest of the build script (`build.pl`) from the SVN directory.
     64 * Shut down the machine.
     65
     66`build.pl` does:
    5967 * (TODO: is it more efficient if all the source is copied onto the local disk before compiling?)
    6068 * `premake --target vs2008 --outpath e:\build`