Files
2012-02-21 01:15:00 -05:00

1 line
6.1 KiB
JSON

[{"user_id": 34431, "stars": [], "topic_id": 40669, "date_created": 1309304503.58532, "message": "I'm going to be putting a Django Facebook app up live soon that I've been working on. I'm the only person responsible for the code, but there are other people involved in the app. It should be moderately popular and we are releasing it with the bare minimum, to be built on as we go. As it will be iterative, I'm wondering what the best approach is in rolling out changes", "group_id": 81, "id": 1512839}, {"user_id": 34431, "stars": [], "topic_id": 40669, "date_created": 1309304589.403692, "message": "and how to manage rolling out updates to a live server (without totally ruining everything!)", "group_id": 81, "id": 1512853}, {"user_id": 34431, "stars": [], "topic_id": 40669, "date_created": 1309304527.882447, "message": "particularly how to manage version control", "group_id": 81, "id": 1512842}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307299.4803219, "message": "^ or that", "group_id": 81, "id": 1513177}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307312.8809669, "message": "chef/puppet are good to learn down the line", "group_id": 81, "id": 1513178}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307174.4015319, "message": "whatever server you're using, point to a separate directory (let's call it /live)", "group_id": 81, "id": 1513163}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307190.726069, "message": "/live is just a symlink to a unique directory", "group_id": 81, "id": 1513165}, {"user_id": 1126, "stars": [{"date_created": 1309318578.474035, "user_id": 4581}, {"date_created": 1309340692.073451, "user_id": 34431}], "topic_id": 40669, "date_created": 1309306980.7106071, "message": "first, if you aren't already, go learn to use Fabric, and write some good functions with it", "group_id": 81, "id": 1513138}, {"user_id": 1736, "stars": [], "topic_id": 40669, "date_created": 1309307280.774487, "message": "Or better yet, use Chef and a deploy resource which will manage that entire process automatically ;-)", "group_id": 81, "id": 1513174}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307007.0329521, "message": "get your entire deploy process down to a single fab command, as well as rollbacks (once you get to it)", "group_id": 81, "id": 1513140}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307213.8935421, "message": "that way you can keep a few versions of your app on your server (typically a current and previous release works fine for most setups)", "group_id": 81, "id": 1513168}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307257.6585641, "message": "when you're ready to flip to the new version, change your symlink, and send a SIGHUP to your server process", "group_id": 81, "id": 1513172}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307146.372921, "message": "then on the server-side, deploy your code to a unique directory (timestamped works nicely, or tag if you're properly tagging in your VCS of choice)", "group_id": 81, "id": 1513159}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307273.301388, "message": "need to rollback? just quickly swap that symlink back and send another SIGHUP", "group_id": 81, "id": 1513173}, {"user_id": 1126, "stars": [], "topic_id": 40669, "date_created": 1309307477.102843, "message": "as for sql, use something like South for your migrations, and never make a backwards-incompatible schema change (they always come back to bite you in the ass)", "group_id": 81, "id": 1513193}, {"user_id": 28981, "stars": [], "topic_id": 40669, "date_created": 1309340390.3141999, "message": "@pewpewarrows Yeah but if your current version contains new migrations, and you migrated forwards. Now assume you wanted to rollback to the previous version. Doesn't south cringe at the missing migrations(which are in DB but not on the filesystem)? or do you roll back migrations first individuall to where they were and then switch the symlink. Also i personally don't really see any advantage of using a separate directory for symlinking. I just keep my production code under version control, i.e. git. I then tag each release so i can rollback.", "group_id": 81, "id": 1515944}, {"user_id": 28981, "stars": [], "topic_id": 40669, "date_created": 1309340816.5987401, "message": "@pastylegs, do maintain a staging instance of your app and always push any changes to it first. It will save you unnecessary headaches when certain bugs only show up on the remote server. I.e. the live + staging should be as close mirrors of each other as possible.", "group_id": 81, "id": 1515992}, {"user_id": 13006, "stars": [], "topic_id": 40669, "date_created": 1309346960.5662451, "message": "i agree with @pastylegs a separate staging server is a really critical piece of your infrastructure. How are you going to make sure your Fab/Chef stuff actually works in something that looks like your production environment?", "group_id": 81, "id": 1516280}, {"user_id": 1736, "stars": [], "topic_id": 40669, "date_created": 1309358226.9420829, "message": "@realchrisdev Vagrant is a great tool for that if you don't want to pay to run a Real Server for such things.", "group_id": 81, "id": 1517231}, {"user_id": 32294, "stars": [], "topic_id": 40669, "date_created": 1309416769.672884, "message": "Add sentry to your staging/production environment.", "group_id": 81, "id": 1526259}, {"user_id": 32294, "stars": [], "topic_id": 40669, "date_created": 1309416950.0196819, "message": "Add production/stating/dev settings to your deployment package and symlink them during the build process according to the target environment.", "group_id": 81, "id": 1526289}, {"user_id": 32294, "stars": [], "topic_id": 40669, "date_created": 1309417017.7169709, "message": "Checkout these Slides http://justcramer.com/2011/06/24/europython/ \"Pitfalls of Continuous Deployment\"", "group_id": 81, "id": 1526302}, {"user_id": 24931, "stars": [], "topic_id": 40669, "date_created": 1309465777.731843, "message": "Just saw this on hacker news today: http://stevelosh.com/blog/2011/06/django-advice/", "group_id": 81, "id": 1532358}]