<!-- Source: https://docs.biosimulant.com/studio/deployments -->

# Deployments

A deployment watches a GitHub branch and publishes a Lab version on every push. Connect the repository once and you stop publishing by hand. [Package and publish](/hub/publish) covers the manual path.

## Setting one up

1. Open `/deployments` in Studio.
2. Install the Biosimulant GitHub App on the repository you want watched.
3. Add a source: the repository, the branch to watch, and the lab it publishes.
4. Push to that branch.

Each push queues a deployment. Studio shows the history for every source, and you can queue one by hand without pushing.

## What a deployment does

It takes the same path as a manual publish: declare packages, validate, build, publish, using the manifests already in the repository. If validation fails then nothing is published, and the failure shows up in the deployment history.

Requirements on the repository are the same as for a manual publish: a `biosimulant-packages.yaml` declaring what to build, and valid [`model.yaml`](/runtime/model-manifest) and [`lab.yaml`](/runtime/lab-manifest) manifests. See [Package and publish](/hub/publish) for the details.

## Turning it off

Deleting a source stops the branch auto-deploying. Versions you already published are immutable and stay published. To change who can see them, use [Visibility and sharing](/hub/visibility).

## Next steps

- [Package and publish](/hub/publish): the manual path, and what validation checks
- [Visibility and sharing](/hub/visibility): private and public
- [CLI](/cli): building and publishing from your own machine or CI
