EPIO deployment explained
Make ep.io account or get an invitation =)
- install epio module ( pip install epio )
- patch epio to work in windows ( todo )
- add public key to epio account
- update solr schema if db is changed: 'manage.py build_solr_schema >solr_schema.xml'
- add line to the local .hg/hgrc file: 'epio = ssh://email@example.com/os-guild'
- do 'hg push epio'
- do [optionaly] 'epio django syncdb'
- do [optionaly] 'epio django createcachetable cache_table'
Things to watch out: Note, epio bundle is read-only directory structure, so avatars and attachements uploading must be directed to env-var['EPIO_DATA_DIRECTORY'] That could be achieved with the proper symlinks in epio.ini file but i didn't tried it yet.
Things to-do for epio: - [done] avatar and attachements redirection via symlink to writtable directory - [done] replace forum search index backend from file-based whoosh to the epio approoved solr
EPIO and static files: Because the filesystem your app runs on is read-only by default, if you're trying to use the collectstatic command you'll need to do one of two things:
- Run collectstatic locally, before you upload.
- Collect your static files to a directory in the writable area. This isn't advised,
as there's a slight performance penalty on serving files from the writable area.
- /art - graphics, html templates used as source
- /site - django site, subfolders are individual django applications
- /static - static content, served by the web server directly
- django 1.2+
Quick Mercurial HowTo
- hg clone https://firstname.lastname@example.org/sigman/guildportal - pull out repository copy
- hg update - bring recent changes from the parent repo to the local
- hg add - add new files to the local repo
- hg commit (-m "message") - commit to the local repo
- hg push - push changes to the remove repo
Currently for the debug configu we have fabfile for our local server To deploy current trunk of the repo you have to:
- obtain private key and save it into $PROJECT.sshdirectory
- install fabric from pypi (now thats might be tricky in case of windows) [pip install fabric]
- in the project directory run command "fab -H <host> <cmd>"
- command: pushpull - pushes working copy to the repo and pulls trunk on server side
- command: deploy - pulls repo to the server, reinitializes database, restarts server
- use 'admin : 1234' to login