> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub Native Continuous Deployment

> Paradime Custom CD: Configure custom continuous deployment for dbt™ projects. Tailor deployment processes to meet specific needs.

export const Arcade = ({src, title}) => <div style={{
  position: 'relative',
  paddingBottom: 'calc(56.2225% + 41px)',
  height: 0,
  width: '100%'
}}>
    <iframe src={src} title={title} frameBorder="0" loading="lazy" allow="clipboard-write" allowFullScreen style={{
  position: 'absolute',
  top: 0,
  left: 0,
  width: '100%',
  height: '100%',
  colorScheme: 'light'
}} />
  </div>;

Paradime Bolt offers a powerful GitHub-native Continuous Deployment (CD) feature that automatically deploys changes to your production environment as soon as they're merged into your production branch.

### Key features:

* Triggers every time a pull request is merged into your specified git branch (e.g., `main`)
* Ideal for CI/CD workflows
* Increases the speed of deploying changes to production
* Refreshes or creates tables immediately after code changes are merged

### Prerequisites

Before setting up GitHub Native Continuous Deployment with Bolt, ensure you have:

1. A [production data warehouse](/products/settings/connections/scheduler-environment/index) connection in Paradime.
2. [GitHub app](/products/bolt/ci-cd/turbo-ci/github#request-the-installation-to-a-github-organization-owner) in Paradime installed and granted necessary access to your repository.
3. Github [User-level OAuth](/products/bolt/ci-cd/turbo-ci/github#github-user-level-oauth) configured in Paradime.

### Setting up GitHub Native Continuous Deployment

1. **Create or Edit a Bolt Schedule**: In the Bolt UI, create a new schedule or modify an existing one.
2. **Set Schedule Type to `deferred`**: This allows your job to leverage results from previous runs, improving efficiency.
3. **Name your continuous deployment schedule**: Choose a descriptive name for easy identification.
4. **Choose a Bolt Schedule to defer to**: Select a previous job run to use as a reference, either from the same schedule or a different one.
5. **Set the comparison method**: Determine how the current run compares with previous runs (e.g., `Last Run`, `Last Successful Run`).
6. **Enter dbt Commands**: Specify the dbt tasks to execute as part of the continuous deployment. For example:

```bash theme={"system"}
dbt run --select state:modified
```

7. **Specify the Git Branch**: Choose which branch of your dbt project will be used when the continuous deployment is triggered (e.g., `main`).
8. **Set Trigger Type to `On Merge`**: This automatically triggers the schedule when a pull request is merged into the specified Git branch.
9. **Publish Bolt Schedule**: Save and activate your continuous deployment schedule.

<Info>
  **Implement using Paradime's Bolt Template -** [**Test Code Changes on Pull Request**](/products/bolt/creating-schedules/templates/ci-cd-templates/test-code-changes-on-pull-requests)**.**&#x20;
</Info>

#### Tutorial

<Arcade src="https://demo.arcade.software/nLpuUz4LBEm7pqp5CFQW?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="GitHub Native Continuous Deployment" />

### Best Practices

1. **Selective Runs**: Use `state:modified+` in your dbt™ run command to only execute changed models and their dependencies.
2. **Deferred State**: Configure the schedule to defer to its own last successful run for efficient incremental builds.
3. **Branch Selection**: Typically set up for your main production branch, but can be configured for other branches if needed.

### Viewing Output of CD Schedules

The Bolt UI provides an interface to view additional details about your continuous deployment schedule, including:

* dbt™ Command Artifacts
* .yml code behind Bolt UI Schedules
* See logs of executed models

<Info>
  See Viewing Schedule Output for details.
</Info>


## Related topics

- [Continuous Deployment with Bolt](/products/bolt/ci-cd/continuous-deployment-with-bolt/index.md)
- [Github Actions to Paradime Bolt](/guides/migrations/migrating-dbt-tm-jobs-from-github-actions-to-paradime-bolt.md)
- [GitHub](/products/bolt/ci-cd/turbo-ci/github.md)
- [Looker](/products/bolt/ci-cd/lineage-diff-deprecated/looker.md)
- [Tableau](/products/bolt/ci-cd/lineage-diff-deprecated/tableau.md)
