CompostUs/DevTools

OurWork Edit-chalk-10bo12.png

What (summary)

Integrate our dev boxes, aboutustest.org, and aboutus.org into a smooth process that allows development on multiple branches, test staging on aboutustest.org, and live beta staging on labs.aboutus.org

Why this is important

We need a place where users can try out new features before they get deployed on the live site. This is important for quality control and better communication between the DevelopmentTeam and their customers.

DoneDone

Week 1

  • compostus.aboutus.org is live
  • all of dev is working on this branch
  • au-branch-create ... creates a new branch on nimbus starting from your local HEAD
  • au-branch-retire ... retires the branch on nimbus and prunes all remote-tracking branches that no longer exist
  • au-branch-checkout ... creates a local branch that follows the remote-tracking branch from nimbus
  • au-stage-branch ... on localhost
    • clones nimbus:/opt/git/aboutus but uses the local /www/aboutus/www for the objects
    • checks out branch_name
    • databases branch_name_XXXX
    • dedicated compost

Week 3

  • rake db:populate ... populates the dev database with user accounts and dev content
  • git tag ... tags the current HEAD, ready for deploy
  • cap deploy ... specific to the branch
    • in the www branch, deploys to www.aboutus.org
    • in the compostus branch, deploys to compostus.aboutus.org
    • in taskXXX branch, deploys to taskXXX.aboutustest.org
  • Describe how to import a cloned repository as a new branch

Steps to get to DoneDone

  • Figure out how to detect the operating system uname
  • figure out how to quit when there isn't an argument specified test string
  • Branch the aboutusbot databases too
  • Create a new test repository on nimbus to use to experiment with how the databases change nimbus:/opt/git/brandon/learngit
  • Determine whether new branches get updated using git fetch remote tracking branches do
  • Determine how to checkout a branch so that pushes go back to the same branch on nimbus push updates all remote tracking branches
  • Create a single apache configuration file that uses url rewriting to select the branch to serve from
  • Figure out where database.yml is used in rails
  • Specify how we want to override database.yml
  • Figure out what to do about database.yml
  • Clean up the scripts so that the stages are more transparent (echos) and we can do one step at a time
  • Change the locations to make more sense (/www/htdocs/branches and www/conf/branches)
  • Put apache2.conf and branchtemplate.conf under version control (in the dev_tools repo)
  • Make all of the commands accessible from the uber branch command
  • Start using branches and cp -r rather than complete repositories
  • Get it working to stage the live branch on Brandon's local machine
  • stop the old apache, start the new one under /www
  • make the new apache start by default
  • explore /www and answer: where do sites live? where are the configurations files? How do we start/stop the server? How do we inspect php settings?
  • make apache run the index.php file instead of showing its source
  • make the localhost:phpmyadmin work
  • inspect the database a new branch uses

A List of Current Problems

  • auto load the site, via index.php
  • "whosonline" template tag doesn't work correctly. It generates a database error.
    • the same goes for "shortrecentchanges" and "shortnewchanges" tags, sans db error.
  • ImageMagick is not activated.


errors specific to railroad

  • The skin won't save as default. LocalSettings? extensions/AboutUsSkin?
    • This is probably our skin resetter extension.
  • The Search function doesn't seem to work correctly. Could be for all of till, not just railroad.
    • Search won't work without significant effort. Probably not worth is. 75.164.220.31 16:01, 4 September 2007 (PDT)


Retrieved from "http://aboutus.com/index.php?title=CompostUs/DevTools&oldid=14802809"