# Ship code to environments

How code reaches your Cloud Platform environments: a built codebase lands in the application's Acquia git repository (pushed directly, or built from your source repository with `push:artifact`). That repository's branches and tags promote the same build through Dev, Stage, and Prod. The [quickstart](/cloud-platform/code-workflow/quickstart/) ships your first change once [acli is authenticated](/cloud-platform/cli/quickstart/) and the application's repository holds a codebase: a free-trial application arrives with that codebase in place, and [Set up a codebase](/cloud-platform/code-workflow/set-up-a-codebase/) fills a repository that is empty.

- [Set up a codebase](/cloud-platform/code-workflow/set-up-a-codebase/): Get a Drupal codebase into your Cloud Platform application's Git repository, whether you are joining a team, starting a new project, or bringing a site from elsewhere.
- [Quickstart](/cloud-platform/code-workflow/quickstart/): Clone your Cloud Platform application, make a small safe change, push it, and see it live on a dev environment. The whole Cloud Platform deploy loop, once.
- [The code workflow](/cloud-platform/code-workflow/guide/): The repo layout Cloud Platform expects, how code moves through environments, moving databases and files, and running Drush remotely. The Acquia side of Cloud Platform Drupal work.
- [Manage configuration](/cloud-platform/code-workflow/configuration/): Code deploys but databases do not, so Drupal configuration has to ride the code path. Where the sync directory lives, where the import runs, and the two contrib modules the platform expects.
- [Migrate an existing site](/cloud-platform/code-workflow/migrate-to-cloud-platform/): Move a Drupal site hosted elsewhere onto Cloud Platform. Pre-flight checks, then code, database, and files, then verify on a non-production environment before cutover.
- [Enable Canvas Headless](/cloud-platform/code-workflow/canvas-headless/): Add the canvas_headless submodule to a Drupal codebase you control with Composer and Drush, and confirm it in the Canvas editor.
