Skip to content

Commit

Permalink
Git providers supporting CI (#6692)
Browse files Browse the repository at this point in the history
  • Loading branch information
nataliefiann authored Jan 10, 2025
2 parents 321f9e5 + d9aea94 commit 56632a6
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 0 deletions.
5 changes: 5 additions & 0 deletions website/docs/docs/cloud/git/git-configuration-in-dbt-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,9 @@ Whether you use a Git integration that natively connects with dbt Cloud or prefe
link="/docs/cloud/git/connect-azure-devops"
icon="dbt-bit"/>

<Card
title="Availability of CI features by Git provider"
body="Learn which Git providers have native support for Continuous Integration workflows"
link="/docs/deploy/continuous-integration#git-providers-who-support-ci"
icon="dbt-bit"/>
</div>
4 changes: 4 additions & 0 deletions website/docs/docs/cloud/git/import-a-project-by-git-url.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ In dbt Cloud, you can import a git repository from any valid git URL that points
## Git protocols
You must use the `git@...` or `ssh:..`. version of your git URL, not the `https://...` version. dbt Cloud uses the SSH protocol to clone repositories, so dbt Cloud will be unable to clone repos supplied with the HTTP protocol.

import GitProvidersCI from '/snippets/_git-providers-supporting-ci.md';

<GitProvidersCI />

## Managing deploy keys

After importing a project by Git URL, dbt Cloud will generate a Deploy Key for your repository. To find the deploy key in dbt Cloud:
Expand Down
1 change: 1 addition & 0 deletions website/docs/docs/deploy/about-ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ Refer to the guide [Get started with continuous integration tests](/guides/set-u
icon="dbt-bit"/>

</div><br />

4 changes: 4 additions & 0 deletions website/docs/docs/deploy/ci-jobs.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ You can set up [continuous integration](/docs/deploy/continuous-integration) (CI
- Set up a [connection with your Git provider](/docs/cloud/git/git-configuration-in-dbt-cloud). This integration lets dbt Cloud run jobs on your behalf for job triggering.
- If you're using a native [GitLab](/docs/cloud/git/connect-gitlab) integration, you need a paid or self-hosted account that includes support for GitLab webhooks and [project access tokens](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html). If you're using GitLab Free, merge requests will trigger CI jobs but CI job status updates (success or failure of the job) will not be reported back to GitLab.

import GitProvidersCI from '/snippets/_git-providers-supporting-ci.md';

<GitProvidersCI />

## Set up CI jobs {#set-up-ci-jobs}

dbt Labs recommends that you create your CI job in a dedicated dbt Cloud [deployment environment](/docs/deploy/deploy-environments#create-a-deployment-environment) that's connected to a staging database. Having a separate environment dedicated for CI will provide better isolation between your temporary CI schema builds and your production data builds. Additionally, sometimes teams need their CI jobs to be triggered when a PR is made to a branch other than main. If your team maintains a staging branch as part of your release process, having a separate environment will allow you to set a [custom branch](/faqs/Environments/custom-branch-settings) and, accordingly, the CI job in that dedicated environment will be triggered only when PRs are made to the specified custom branch. To learn more, refer to [Get started with CI tests](/guides/set-up-ci).
Expand Down
5 changes: 5 additions & 0 deletions website/docs/docs/deploy/continuous-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ When the CI run completes, you can view the run status directly from within the

dbt Cloud deletes the temporary schema from your <Term id="data-warehouse" /> when you close or merge the pull request. If your project has schema customization using the [generate_schema_name](/docs/build/custom-schemas#how-does-dbt-generate-a-models-schema-name) macro, dbt Cloud might not drop the temporary schema from your data warehouse. For more information, refer to [Troubleshooting](/docs/deploy/ci-jobs#troubleshooting).

import GitProvidersCI from '/snippets/_git-providers-supporting-ci.md';

<GitProvidersCI />


## Differences between CI jobs and other deployment jobs

The [dbt Cloud scheduler](/docs/deploy/job-scheduler) executes CI jobs differently from other deployment jobs in these important ways:
Expand Down
15 changes: 15 additions & 0 deletions website/snippets/_git-providers-supporting-ci.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Availability of features by Git provider

- If your git provider has a [native dbt Cloud integration](/docs/cloud/git/git-configuration-in-dbt-cloud), you can seamlessly set up [continuous integration (CI)](/docs/deploy/ci-jobs) jobs directly within dbt Cloud.

- For providers without native integration, you can still use the [Git clone method](/docs/cloud/git/import-a-project-by-git-url) to import your git URL and leverage the [dbt Cloud Administrative API](/docs/dbt-cloud-apis/admin-cloud-api) to trigger a CI job to run.

The following table outlines the available integration options and their corresponding capabilities.

| **Git provider** | **Native dbt Cloud integration** | **Automated CI job**|**Git clone**| **Information**|
| -----------------| ---------------------------------| -------------------------------------------|-----------------------|---------|
|[Azure DevOps](/docs/cloud/git/setup-azure)<br /> <Lifecycle status="enterprise" />|||| Organizations on the Team and Developer plans can connect to Azure DeveOps using a deploy key. Note, you won’t be able to configure automated CI jobs but you can still develop.|
|[GitHub](/docs/cloud/git/connect-github)<br /> <Lifecycle status="developer,team,enterprise" /> ||||
|[GitLab](/docs/cloud/git/connect-gitlab)<br /> <Lifecycle status="developer,team,enterprise" /> ||||
|All other git providers using [Git clone](/docs/cloud/git/import-a-project-by-git-url) ([BitBucket](/docs/cloud/git/import-a-project-by-git-url#bitbucket), [AWS CodeCommit](/docs/cloud/git/import-a-project-by-git-url#aws-codecommit), and others)|||| Refer to the [Customizing CI/CD with custom pipelines](/guides/custom-cicd-pipelines?step=1) guide to set up continuous integration and continuous deployment (CI/CD).|

0 comments on commit 56632a6

Please sign in to comment.