diff --git a/website/docs/docs/deploy/advanced-ci.md b/website/docs/docs/deploy/advanced-ci.md new file mode 100644 index 00000000000..447716b8979 --- /dev/null +++ b/website/docs/docs/deploy/advanced-ci.md @@ -0,0 +1,28 @@ +--- +title: "Advanced CI" +id: "advanced-ci" +sidebar_label: "Advanced CI" +description: "Advanced CI enables developers to compare changes by demonstrating the changes the code produces." +--- + +Advanced CI helps developers answer the question, “Will this PR build the correct changes in production?” By demonstrating the data changes that code changes produce, users can ensure they always ship trusted data products as they develop. + +Customers control what data to use and may implement synthetic data if pre-production or development data is heavily regulated or sensitive. The data clients choose only persists on dbt Labs systems for up to 30 days. dbt Labs does not access Advanced CI cached data for its benefit, and the data is only used to provide services to clients as they direct. This caching optimizes compute usage so that the entire comparison is not rerun against the data warehouse each time the **Compare** tab is viewed. + +## Data caching + +When you run Advanced CI (by enabling **Compare Changes**), dbt Cloud stores a cache of no more than 100 records for each modified model. By caching this data, users can view the examples of changed data without rerunning the comparison against the data warehouse every time. To display the changes, dbt Cloud uses a cached version of a sample of data records. These data records are queried from the database using the connection configuration (user, role, service account, etc.) set in the CI job's environment. + + + +The cache is encrypted, stored in Amazon S3 or Azure blob storage in your account’s region, and automatically deleted after 30 days. No data is retained on dbt Labs’s systems beyond this period. Users accessing a CI run that is more than 30 days old will not be able to see the comparison; instead, they will see a message that the data has expired (no other third-party subcontractor(s), aside from the storage subcontractor(s), has access to the cached data). + + + +## Connection permissions + +The **Compare changes** feature uses the same credentials as your CI job, which is defined in your CI job’s environment. Because all users will be able to view the comparison results and the cached data, the account administrator must ensure that client CI credentials are appropriately restricted. + +In particular, if you use dynamic data masking in your data warehouse, the cached data will no longer be dynamically masked in the Advanced CI output, depending on the permissions of the users who view it. We recommend limiting your users' access to unmasked data or considering using synthetic data for the Advanced CI testing functionality. + + diff --git a/website/sidebars.js b/website/sidebars.js index ae5e05d4aae..c533975076b 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -462,7 +462,16 @@ const sidebarSettings = { "docs/deploy/deployments", "docs/deploy/job-scheduler", "docs/deploy/deploy-environments", + { + type: "category", + label: "Continuous integration", + collapsed: true, + link: { type: "doc", id: "docs/deploy/continuous-integration" }, + items: [ "docs/deploy/continuous-integration", + "docs/deploy/advanced-ci", + ], + }, "docs/deploy/continuous-deployment", { type: "category", diff --git a/website/static/img/docs/deploy/compare-changes.png b/website/static/img/docs/deploy/compare-changes.png new file mode 100644 index 00000000000..4cdbf680cda Binary files /dev/null and b/website/static/img/docs/deploy/compare-changes.png differ diff --git a/website/static/img/docs/deploy/compare-credentials.png b/website/static/img/docs/deploy/compare-credentials.png new file mode 100644 index 00000000000..bcf81a52748 Binary files /dev/null and b/website/static/img/docs/deploy/compare-credentials.png differ diff --git a/website/static/img/docs/deploy/compare-expired.png b/website/static/img/docs/deploy/compare-expired.png new file mode 100644 index 00000000000..453a330231a Binary files /dev/null and b/website/static/img/docs/deploy/compare-expired.png differ