Delivery

Delivery is how a version leaves your machine and reaches production. Features and products are released separately, and a server can follow a product’s releases on its own.

How a change reaches production

  1. A feature release (feature:release) publishes a version of the feature to PyPI and tags it on the forge.
  2. The products that use it get a pull request with the upgrade from their weekly CI job. Merging it is a person’s decision.
  3. A product release (product:release) bumps the product’s version, commits its deploy bundle and publishes its image to the registries, as <version> and as stable.
  4. A server with the autodeploy feature follows stable. It backs up the database, swaps the container, and goes back when a release does not start.

If a release stops halfway, release:resume finishes it without bumping the version again.

How it relates to the other layers

  • Features and product. Both are released, each with its own version.
  • Infrastructure. The image a product release publishes is the one its deploy bundle runs.
  • Ecosystem. The forge, PyPI and the image registries are where releases go.

Go deeper


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es