DCSF Notes: Tools for Hands Off Server Management
“ ”
Navigation
DrupalCon 2010 - San Francisco - Tuesday Morning - First session from an Acquia member about how to handle or configure a server environment for 'hands-off' management.
1. Func
2. Splunk
3. Puppet - for drupal deployment.
4. Testing with continuous integration - Process for making sure everything is working. Allows the developers to know when and how things break.
5. Build Tool (in PHP) - A formal build process is more expected in other languages. Need tools to move the right code into the right place. These tools are about driving actions over a code base. Important for automation.
6. Term: CI Server - A drupal build is:
1. Syntax checking - php lint (does a syntax testing)
2. Testing - SimpleTest & Selenium (*T -Ruby Based)
3. Packaging - makes a bundle of release code.
4. Deployment - Manages the movement between the build slave, source control server, testing and production servers.
Note: Drush can drive simpletest.
Best Practice- When you fix a bug, write a unit test.
Built Tools
Phing - PHP tool. Similiar to PHPLint. This can be run as a task. Can be used as a drive for drush. Adds drush into a build file. Can be used to pull the live prouduction db into a test server, then clears cache, and runs unit tests.
* great for including files as a reference.
Rake/Make (old approach for making packages)
Content - How do I manage content. Inhouse content. Split the servers between content types. Using internal edit servers and external content sever.
(*RT) use the Deploy Module - Allows for pushes of content or packages.
PDOSQLExec -
Staging Issues All meta data and data are in the same place. Drupal makes this hard to handle. Features and StrongArm (*RT StrongArm) make it easier.
Deployment Manifest: (Used to outline the rollout)
1. Use Features and Modules.
2. Manage Roles
3. Clear cache (not always needed)
4. UpdateDB
Build this in :YML, YAML, JSON, Property Files (driven by Puppet, Phing)
RollBack
How to handle this rollback issues. The DB is time sensitive. Requires human interactions. Use extract from the DB and use diff to compare the two. This needs to improve.
Idea: Rollback.php - Lets a developer or module handle a rollback action.
- SSmith's blog
- Login to post comments



