Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Life-cycle Tags

  • install:base
    Creates
    • User
    • Directories
    • Virtual environments
  • install:code
    • Checks out code
  • install:system-requirements
    Installs OS dependencies
  • install:app-requirements
    pip install -r requirements.txt/bundle install
  • install: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 remotely
  • assets:pre-reqs
    Installs ruby/sass/grunt/node
  • assets:gather
    Processes assets
  • migrate:db
    Migrates the RDBMS using manage.py today, make migrate in the future
  • migrate:mongodb
    As above,  but for whichever nosql option
  • manage:app-users
  • manage:db
    create/ensure the database and db users exist
  • manage: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?)

...


Sample Application

https://github.com/edx/configuration/pull/2265