Continuous Deployment Resources

Posted in Operations, Software Development by on February 1, 2013 No Comments yet

Between one and two years ago Continuous Deployment seemed to have a lot of buzz, whether it was praise or condemnation. Now seems to be the period after the storm. Continuous Deployment has been proven by the likes of Flickr, Facebook, Etsy, IMVU, and Wealthfront, to name a few.

This blog post is simply a categorized list of links and resources to learn more about continuous deployment. Unlike a traditional blog post, I’ll likely be updating this over time much as I find more resources.

Updated: February 7, 2013

More…

nginx Rewrite for AtomPub on WordPress with Clean URLs

Posted in Operations by on March 13, 2012 No Comments yet

For my other blogs, Axis & Allies.org and Beer 47, I’ve shortened my workflow by pushing the photos directly from Adobe Lightroom to WordPress using the plugin LR/Blog. However, since I’m using nginx as my webserver, the AtomPub url was not working out of the box but I figured it out and I have the solution in this post.

For it’s WordPress integration, LR/Blog can use either XML-RPC or AtomPub to publish photos. Each have their benefits and drawbacks: XML-RPC doesn’t transfer the metadata for the photo, such as the title and caption, and AtomPub does not allow the photos to be updated. Since I only publish my photos one, I would much rather use AtomPub to include the titles and captions.

The default URL for the WordPress AtomPub integration is /wp-app.php/service but since I did not have a rewrite rule in nginx, I simply received a 404 error, file not found. After some experimentation I added this rewrite rule.

if ($request_uri ~* "^/wp-app.php.*$" ) {
rewrite ^/wp-app.php/(.+)$ /wp-app.php?q=$1 last;
    break;
}

If you are using clean urls, you will likely have a rewrite block something like this:

if (!-e $request_filename) {
    rewrite ^(.+)$ /index.php?q=$1 last;
    break;
}

Be sure to put your new rewrite rule before your clean url rewrite rule.