In Altostra, a Deployment is a live release of a project in a specific environment. Think of it as an instance of a Class, in development terms.
You can deploy Altostra projects multiple times to multiple environments, creating a different instance with each deployment.
Every deployment is self-contained, has its own events-history, and is mapped 1-to-1 to a cloud account stack. All deployment resources are deployed together and removed together; they all share the same deployment configuration.
Creating a deployment means that you deploy a fresh and unique stack of your project to the cloud. All resources are created from scratch, and all tables and buckets are empty.
Updating a deployment means that you push changes to an existing stack of your project to the cloud. The resources already exist and are updated as needed to fit the changes.
Use cases for deployments
If you're using the Branch Deployments strategy with Git, deploy each branch as a separate deployment in Altostra as part of a CI/CD pipeline. That way, developers can test their work in parallel without interfering with each other.
If you need to produce a preview for each Pull Request, configure the CI/CD pipeline can create an Altostra deployment for each Pull Request, and then update the deployment on every push to the Pull Requests's branch.
If you're using multiple stages for projects, such as Dev, QA, Prod, then create an Altostra deployment for each stage and update the deployments as needed.