The Life-cycle Tags
install:base
CreatesUser
Directories
Virtual environments
install:code
Checks out code
install:system-requirements
Installs OS dependenciesinstall:app-requirements
pip install -r requirements.txt/bundle installinstall:configuration
Drops other configuration (such as supervisor, gunicorn, etc)install:app-configuration
Resolves vars and drops env.yml/auth.yml (useful for only generating the yml files for distributing config)install:vhosts
Builds nginx vhosts when relevant, can run locally or remotelyassets:pre-reqs
Installs ruby/sass/grunt/nodeassets:gather
Processes assetsmigrate:db
Migrates the RDBMS using manage.py today, make migrate in the futuremigrate:mongodb
As above, but for whichever nosql optionmanage:app-users
manage:db
create/ensure the database and db users existmanage:monitoring
manage:start
manage:stop
test:unit
test:integration
test:acceptance
Notes
For the moment, we can implement "wildcard" tags by tagging tasks with
tags: [install, install:vhosts]In the future, we may want to move all of the supervisor- and linking-related stuff into a separate tag (including rereading supervisor). (It's currently in install:configuration, which seems wrong. Maybe it should just go in manage:start?)