| 1 | (Related to ticket #224.) |
| 2 | |
| 3 | The current plan (subject to change based on any new information or experience): |
| 4 | |
| 5 | * The server runs on [http://aws.amazon.com/ec2/ Amazon EC2]. |
| 6 | * The server has Windows Server 2003, VC++ 2008, SVN, Perl, and nothing else installed. |
| 7 | * The server has a persistent disk with the SVN checkout. |
| 8 | * 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. |
| 9 | * 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 | |
| 11 | == Virtual machine image installation == |
| 12 | * Start with basic Win2003 image (ami-e3698d8a, Server2003r2-i386-Win-v1.02.manifest.xml), on a Small Instance. |
| 13 | * Attach a 2GB [http://aws.amazon.com/ebs/ EBS] disk. |
| 14 | * Install [http://www.microsoft.com/express/download/ VC++ 2008 Express SP1]. |
| 15 | * Install [http://www.sliksvn.com/en/download command-line SVN] 1.5.4. |
| 16 | * `svn co http://svn.wildfiregames.com/svn/ps/trunk/ e:\svn` |
| 17 | * Add some script or something into `HKLM\Software\Microsoft\Windows\CurrentVersion\Run`. |
| 18 | * ... |
| 19 | * Bundle the machine into s3://...something.../...something... |
| 20 | |
| 21 | == Build script == |
| 22 | |
| 23 | Needs to do something like: |
| 24 | * `premake --target vs2008 --outpath e:\build` |
| 25 | * `vcbuild /time /showenv /useenv /M4 /r /logfile:buildlog.txt pyrogenesis.sln "Release|Win32"` |
| 26 | * ... |
| 27 | |
| 28 | == EC2 == |
| 29 | Currently (December 2008) the only suitable alternatives to EC2 seem to be [http://www.flexiscale.com/ FlexiScale] and [http://www.gogrid.com/ GoGrid], but they are a bit more expensive. Since all the services provide a plain Windows environment, it should be fairly easy to transition between the services if it becomes necessary. |