{ "info": { "author": "Diego Lapiduz", "author_email": "diego@lapiduz.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "fabistrano\n============\n\nFabistrano is a set of [Fabric](http://docs.fabfile.org/en/1.6/) tasks that allows you to do [Capistrano](https://github.com/capistrano/capistrano) style deployments for python web apps.\n\n## What is a _capistrano style_ deployments?\n\nCapistrano deploys code under versioned directories and then symlinks the latest one as the *current* release.\n\nA sample structure would look like this:\n\n ```\n app.com\n |\n | - releases\n | - 1366924759\n | - 1366927898\n | - 1367155641\n | - shared\n | - current\n ```\n\n## Why use this stlye of deployment?\n\nUsing fabistrano you get the following benefits:\n\n- Scripted and ordered deployments\n- Very low downtime when deploying new code\n- Easy roll backs\n\n## Usage\n\n1. Install fabistrano:\n\n` pip install fabistrano `\n\n2. In your `fabfile.py` you need to import fabistrano and set the environment variables:\n\n ```\n from fabistrano import deploy\n\n \n env.hosts = [\"HOST\"] # Replace with your host name or IP\n env.base_dir = '/www' # Set to your apps directory\n env.app_name = 'app_name.com' # This will deploy the app to /www/app_name.com/\n env.git_clone = 'GIT_PATH' # Your git url\n\n env.restart_cmd = 'kill -HUP `supervisorctl pid gunicorn`' # Restart command\n # or\n # env.wsgi_path = \"app_name/apache.wsgi\" # Relative path to the wsgi file to be touched on restart\n ```\n\n\n3. Run `setup` to create the directory structure:\n\n ` fab deploy.setup `\n\n4. Deploy the app:\n\n ` fab deploy `\n\n5. Setup your web server to point to the `current` directory.\n\n\nAnd you should be good to go!\n\n## Current status\n\nThis tool is under active development and you might see errors.\n\n## License\n\nThe template itself is available under the \"Simplified\" BSD license and can be\nfreely modified under the terms of that license. You can see the \n[full license text](https://github.com/dlapiduz/fabistrano/blob/master/LICENSE>)\nin the Github repository for additional detail.\n\nApplications created using this template are not considered derivatives works.\nApplications created using this template can be freely licensed under whatever\nyou as the author chooses. They may be either open or closed source.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/dlapiduz/fabistrano", "keywords": null, "license": "License :: OSI Approved :: BSD License", "maintainer": null, "maintainer_email": null, "name": "fabistrano", "package_url": "https://pypi.org/project/fabistrano/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fabistrano/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/dlapiduz/fabistrano" }, "release_url": "https://pypi.org/project/fabistrano/0.3/", "requires_dist": null, "requires_python": null, "summary": "Capistrano style deployments with Fabric", "version": "0.3" }, "last_serial": 791847, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "9e8c2913d6a7d5c6c7e2d1f667546fb9", "sha256": "bf1984b7cf666382190cee36d4776a5a71c900ec3c5de4d130b358b45cbeefcb" }, "downloads": -1, "filename": "fabistrano-0.1.tar.gz", "has_sig": false, "md5_digest": "9e8c2913d6a7d5c6c7e2d1f667546fb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2402, "upload_time": "2013-04-28T14:33:15", "url": "https://files.pythonhosted.org/packages/54/d2/fe9f293862228d219d433af2b1f830f4ac24a0f448c08079ca614201150c/fabistrano-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "9ca0634c31a1201c4fc58310fdb49f35", "sha256": "d7ea1f34ef5a7ba10396deab9d8c3bb7d4716234e56731764c8868bad9272db2" }, "downloads": -1, "filename": "fabistrano-0.2.tar.gz", "has_sig": false, "md5_digest": "9ca0634c31a1201c4fc58310fdb49f35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1291, "upload_time": "2013-04-29T22:57:14", "url": "https://files.pythonhosted.org/packages/16/6f/f135d4db389022b167355f267de581a5440e6012e7f8ed140255a06c5678/fabistrano-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a51814d00574b2cbd65f2e13b7835fe8", "sha256": "4659872d734458bb9afeed7fbdf55e960bda679b2aef614002e20604f5ca297f" }, "downloads": -1, "filename": "fabistrano-0.3.tar.gz", "has_sig": false, "md5_digest": "a51814d00574b2cbd65f2e13b7835fe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3871, "upload_time": "2013-04-29T23:06:29", "url": "https://files.pythonhosted.org/packages/36/39/b7950fc93f874b9be537a0a345ee3e564bd468ba474c2fa394fc32416e23/fabistrano-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a51814d00574b2cbd65f2e13b7835fe8", "sha256": "4659872d734458bb9afeed7fbdf55e960bda679b2aef614002e20604f5ca297f" }, "downloads": -1, "filename": "fabistrano-0.3.tar.gz", "has_sig": false, "md5_digest": "a51814d00574b2cbd65f2e13b7835fe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3871, "upload_time": "2013-04-29T23:06:29", "url": "https://files.pythonhosted.org/packages/36/39/b7950fc93f874b9be537a0a345ee3e564bd468ba474c2fa394fc32416e23/fabistrano-0.3.tar.gz" } ] }