How does the deployment process work?

Whenever you are doing a deployment, the following things occur:

  1. porter parses your project.ini file
  2. it looks for a list of modules to be deployed
  3. it recursively builds dependencies to be deployed, and it starts with them.

For each of the modules, porter does the following things:

  1. it parses the module’s ini file in order to discover which plugins you are using.
  2. It checks whether a deploy is actually needed - it uses release section for that. If an combination of (module, config, host, release) is found within porter.db, then the deployment is not performed.
  3. it clones / refreshes the repository
  4. it sets the appropriate branch / tag / revision / etc
  5. it uses rsync to push your code to the destination machine
  6. it stores the deployed version of the module into the porter.db

Previous topic

Quickstart

Next topic

Under the hood

This Page