Difference between revisions of "CompostUs/DevTools"

m
 

(24 intermediate revisions by 3 users not shown)



Line 1: Line 1:
<noinclude><big>[[OurWork]] < [[DevelopmentTeam]] < [[DevelopmentTeamPriorities|Priorities]] < </noinclude>('''[[PairDays?|5]]''') [[WorkingDevelopmentBox]] ('''[[Who?|?]]''') {{JustTinyEditIcon|WorkingDevelopmentBox}}<noinclude></big>
+
<noinclude><big>[[OurWork]] < [[DevelopmentTeam]] < [[DevelopmentTeamPriorities|Priorities]] < [[CompostUs]] < </noinclude>[[CompostUs/DevTools|DevTools]] {{JustTinyEditIcon|CompostUs/DevTools}}<noinclude></big>
 
__NOTOC__
 
__NOTOC__
 
== What (summary) ==
 
== What (summary) ==
Get till working as a development server that we can use as part of our [[DevelopmentStagingProcess]].
+
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
* This project and the [[DevelopmentStagingProcess]] do not apply to "hot fixes" or minor tweaks
 
  
 
== Why this is important ==
 
== Why this is important ==
Line 9: Line 8:
  
 
== [[DoneDone]] ==
 
== [[DoneDone]] ==
* <s>Each task is staged (with its own branch) on the development box before it gets added to the live repository</s>
+
Week 1
* Easy branch creation script exists
+
* compostus.aboutus.org is live
** <s>Create the branch in the repository on nimbus</s>
+
* all of dev is working on this branch
** Prep a branch for serving from aboutustest.org
+
* <s>au-branch-create <branch_name> ... creates a new branch on nimbus starting from your local HEAD</s>
*** Has its own database wiki_branch_name that is populated with user accounts and dev content
+
* <s>au-branch-retire <branch_name> ... retires the branch on nimbus and prunes all remote-tracking branches that no longer exist</s>
*** To update on till we ssh onto till and run a git pull ... all changes should show up
+
* <s>au-branch-checkout <branch_name> ... creates a local branch that follows the remote-tracking branch from nimbus</s>
*** Also needs a full dedicated compost running for the branch
+
* au-stage-branch <branch_name> ... on localhost
*** Available from branchname.till within the Portland office
+
** <s>clones nimbus:/opt/git/aboutus but uses the local /www/aboutus/www for the objects</s>
* Instructions for Lahore to set up similar
+
** <s>checks out branch_name</s>
 +
** databases branch_name_XXXX
 +
** dedicated compost
  
Branch ... shared repository on nimbus and running instance on till in Portland and Lahore dev machine
+
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 <tag> ... 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]] ==
 
== Steps to get to [[DoneDone]] ==
 
+
* <s>Figure out how to detect the operating system</s> <code>uname</code>
 +
* <s>figure out how to quit when there isn't an argument specified</s> <code>test string</code>
 +
* <s>Branch the aboutusbot databases too</s>
 +
* <s>Create a new test repository on nimbus to use to experiment with how the databases change</s> nimbus:/opt/git/brandon/learngit
 +
* <s>Determine whether new branches get updated using git fetch</s> remote tracking branches do
 +
* <s>Determine how to checkout a branch so that pushes go back to the same branch on nimbus</s> 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
 
----
 
----
  
Line 37: Line 66:
 
* The Search function doesn't seem to work correctly. Could be for all of till, not just railroad.
 
* 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.  [[User:75.164.220.31|75.164.220.31]] 16:01, 4 September 2007 (PDT)
 
** Search won't work without significant effort. Probably not worth is.  [[User:75.164.220.31|75.164.220.31]] 16:01, 4 September 2007 (PDT)
[[Category:DevelopmentTask]]
+
</noinclude>
 
[[Category:DevelopmentTeam]]
 
[[Category:DevelopmentTeam]]
</noinclude>
+
[[Category:OpenTask]]

Latest revision as of 07:33, 15 February 2008

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"