Build:Release Automation:Notes on Staging Setup: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(install php)
Line 44: Line 44:
  cvs -d /builds/cvsmirror/cvsroot/ co -d app/ -r AUS2_PRODUCTION mozilla/webtools/aus/xml
  cvs -d /builds/cvsmirror/cvsroot/ co -d app/ -r AUS2_PRODUCTION mozilla/webtools/aus/xml
  cd app && ln -s ../incoming ./data
  cd app && ln -s ../incoming ./data
cd /var/www/html && ln -s /opt/aus2 aus2
   
   
  # install apache and php
  # install apache and php
  yum install httpd php
  yum install httpd php

Revision as of 14:28, 29 October 2007

Notes on Release Automation Staging Setup

Staging/Production Buildbot master differences

  1. Signing - prod waits for signed bits, stage fakes w/ symlink ok
  2. Bootstrap - prod pulls tag e.g. RELEASE_AUTOMATION_M5, staging pulls tip ok

Buildbot master basedir is ~buildmaster/TestBot

The bootstrap.cfg is pulled from the master dir.

Slaves basedirs are in cltbld's home directory on the appropriate machine, e.g. ~cltbld/linux-slave1

Changes can be inserted with "buildbot sendchange" on the master e.g.:

buildbot sendchange --master=localhost:9989 -u rhelmer -m"latest bootstrap from CVS" test

Bootstrap uses a local CVS mirror, and the "tag", "source", "updates", and "stage" builders are run by a local buildslave.

The bootstrap Makefile has the following targets:

  • stage/clean_stage
    • create/remove basic fileserver/tag/source/updates/stage environment
  • cvsmirror/clean_cvsmirror
    • create/remove cvsmirror in /builds/cvsmirror

These targets are hard-coded to prepare for a 2.0.0.4 release.

There must be "cltbld" and "symbols" accounts on the staging FTP server that the build machines' cltbld accounts can connect to via SSH without a password.

  • must accept staging-build-console's hostkey via this SSH tunnel:
  • set up staging FTP server
mkdir /home/ftp /builds /data/cltbld
chown cltbld /home/ftp /builds/ /data/cltbld
cvs co /mofo/release/stage/ to /data/cltbld/bin
groupadd firefox
  • set up staging AUS server
# TODO - auto-update 
mkdir -p /opt/aus2/snippets/staging/backup /opt/aus2/incoming /opt/aus2/app
# check out aus2
cd /opt/aus2/
cvs -d /builds/cvsmirror/cvsroot/ co -d app/ -r AUS2_PRODUCTION mozilla/webtools/aus/xml
cd app && ln -s ../incoming ./data
cd /var/www/html && ln -s /opt/aus2 aus2

# install apache and php
yum install httpd php