document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-189807\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"n\">task<\/span> <span class=\"ss\">:deploy<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC2\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s1\">&#39;Deploying site to Heroku ...&#39;<\/span><\/div><div class=\"line\" id=\"LC3\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`git push heroku`<\/span><\/div><div class=\"line\" id=\"LC4\">&nbsp;<\/div><div class=\"line\" id=\"LC5\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s1\">&#39;Running database migrations ...&#39;<\/span><\/div><div class=\"line\" id=\"LC6\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`heroku rake db:migrate`<\/span><\/div><div class=\"line\" id=\"LC7\">&nbsp;<\/div><div class=\"line\" id=\"LC8\">&nbsp;&nbsp;<span class=\"n\">release_name<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&quot;release-<\/span><span class=\"si\">#{<\/span><span class=\"no\">Time<\/span><span class=\"o\">.<\/span><span class=\"n\">now<\/span><span class=\"o\">.<\/span><span class=\"n\">utc<\/span><span class=\"o\">.<\/span><span class=\"n\">strftime<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;%Y%m%d%H%M%S&quot;<\/span><span class=\"p\">)<\/span><span class=\"si\">}<\/span><span class=\"s2\">&quot;<\/span><\/div><div class=\"line\" id=\"LC9\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s2\">&quot;Tagging release as &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">release_name<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39;&quot;<\/span><\/div><div class=\"line\" id=\"LC10\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`git tag -a <\/span><span class=\"si\">#{<\/span><span class=\"n\">release_name<\/span><span class=\"si\">}<\/span><span class=\"sb\"> -m &#39;Tagged release&#39;`<\/span><\/div><div class=\"line\" id=\"LC11\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`git push --tags heroku`<\/span><\/div><div class=\"line\" id=\"LC12\">&nbsp;<\/div><div class=\"line\" id=\"LC13\">&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s1\">&#39;All done!&#39;<\/span><\/div><div class=\"line\" id=\"LC14\"><span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC15\">&nbsp;<\/div><div class=\"line\" id=\"LC16\"><span class=\"n\">task<\/span> <span class=\"ss\">:rollback<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC17\">&nbsp;&nbsp;<span class=\"n\">releases<\/span> <span class=\"o\">=<\/span> <span class=\"sb\">`git tag`<\/span><span class=\"o\">.<\/span><span class=\"n\">split<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">&quot;<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">select<\/span> <span class=\"p\">{<\/span> <span class=\"o\">|<\/span><span class=\"n\">t<\/span><span class=\"o\">|<\/span> <span class=\"n\">t<\/span><span class=\"o\">[<\/span><span class=\"mi\">0<\/span><span class=\"o\">.<\/span><span class=\"n\">.<\/span><span class=\"mi\">7<\/span><span class=\"o\">]<\/span> <span class=\"o\">==<\/span> <span class=\"s1\">&#39;release-&#39;<\/span> <span class=\"p\">}<\/span><span class=\"o\">.<\/span><span class=\"n\">sort<\/span><\/div><div class=\"line\" id=\"LC18\">&nbsp;&nbsp;<span class=\"n\">current_release<\/span> <span class=\"o\">=<\/span> <span class=\"n\">releases<\/span><span class=\"o\">.<\/span><span class=\"n\">last<\/span><\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;<span class=\"n\">previous_release<\/span> <span class=\"o\">=<\/span> <span class=\"n\">releases<\/span><span class=\"o\">[-<\/span><span class=\"mi\">2<\/span><span class=\"o\">]<\/span> <span class=\"k\">if<\/span> <span class=\"n\">releases<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">2<\/span><\/div><div class=\"line\" id=\"LC20\">&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"n\">previous_release<\/span><\/div><div class=\"line\" id=\"LC21\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s2\">&quot;Rolling back to &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">previous_release<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39; ...&quot;<\/span><\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`git push -f heroku <\/span><span class=\"si\">#{<\/span><span class=\"n\">previous_release<\/span><span class=\"si\">}<\/span><span class=\"sb\">:master`<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s2\">&quot;Deleting rollbacked release &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">current_release<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39; ...&quot;<\/span><\/div><div class=\"line\" id=\"LC24\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`git tag -d <\/span><span class=\"si\">#{<\/span><span class=\"n\">current_release<\/span><span class=\"si\">}<\/span><span class=\"sb\">`<\/span><\/div><div class=\"line\" id=\"LC25\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"sb\">`git push heroku :refs/tags/<\/span><span class=\"si\">#{<\/span><span class=\"n\">current_release<\/span><span class=\"si\">}<\/span><span class=\"sb\">`<\/span><\/div><div class=\"line\" id=\"LC26\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s1\">&#39;All done!&#39;<\/span><\/div><div class=\"line\" id=\"LC27\">&nbsp;&nbsp;<span class=\"k\">else<\/span><\/div><div class=\"line\" id=\"LC28\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s2\">&quot;No release tags found - can&#39;t roll back!&quot;<\/span><\/div><div class=\"line\" id=\"LC29\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"n\">releases<\/span><\/div><div class=\"line\" id=\"LC30\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC31\"><span class=\"k\">end<\/span><\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/189807/a0d023459a630cc4bf9e2ef0984877bd83bfce86/deploy.rake\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/189807#file_deploy.rake\" style=\"float:right;margin-right:10px;color:#666\">deploy.rake<\/a>\n          <a href=\"http://gist.github.com/189807\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
