Skip to content

Commit

Permalink
Add Azure DevOps Cloning (#43)
Browse files Browse the repository at this point in the history
* Add Azure DevOps Setup
* Update name and some texts

---------

Co-authored-by: Mayra Pena <[email protected]>
Co-authored-by: Noel Gomez <[email protected]>
  • Loading branch information
3 people authored Sep 27, 2024
1 parent 98fc2ad commit da277cf
Show file tree
Hide file tree
Showing 25 changed files with 312 additions and 2 deletions.
1 change: 1 addition & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
- [Configure Integrations](/how-tos/datacoves/how_to_integrations.md)
- [Configure Invitations](/how-tos/datacoves/how_to_invitations.md)
- [Configure Projects](/how-tos/datacoves/how_to_projects.md)
- [Configure Azure DevOps](/how-tos/datacoves/how_to_configure_azure_DevOps.md)
- [Configure Service Connections](/how-tos/datacoves/how_to_service_connections.md)
- [Manage Users](/how-tos/datacoves/how_to_manage_users.md)
- [Update Repository](/getting-started/Admin/configure-repository.md)
Expand Down
29 changes: 29 additions & 0 deletions docs/getting-started/Admin/developer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Datacoves Getting Started Guides - Developer

## Introduction
Welcome Developer!

Please use these getting started guides to accelerate your onboarding. The guides cover everything from configuring your user settings to fundamental tips and shortcuts.

-Datacoves Team

## Developer Essentials
1. First, you will need to configure your user settings. You will not be able to access the transform tab if your user settings have not been properly configured.

[Configure Your User Settings](how-tos/vscode/initial.md)

2. Once your user settings have been configured and your git repo has been tested, you will be able to jump right in to your browser VS Code experience; everything you need, pre-configured at your fingertips. This is where the dbt magic happens.

[Transform Tab (VS Code)](getting-started/developer/transform-tab.md)

3. With the Snowflake extension you don't have to leave the comfort of your Datacoves tab! Learn how to use this powerful extension, along with some handy tips and tricks.

[Snowflake Extension](getting-started/developer/snowflake-extension.md)

4. Have the best and most efficient dbt experience with Datacoves! We cover some nifty shortcuts and accelerators to help you hit the ground running with dbt.

[Working with dbt in Datacoves](getting-started/developer/working-with-dbt-datacoves.md)

5. Use git with ease via the VS Code Git Extension, our pre-configured git aliases, and more.

[Using Git](getting-started/developer/using-git.md)
14 changes: 14 additions & 0 deletions docs/getting-started/Admin/developer/snowflake-extension.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Getting Started with the Snowflake Extension

## This getting started video guide covers

- Account sign in
- Extension Interface overview
- Object Exploration
- Autocomplete
- Running Queries

For more information, please see the **[Snowflake VS Code Extension Docs](https://docs.snowflake.com/en/user-guide/vscode-ext)**

<div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/96272782ea2b4639b8372a0ec85c9268?sid=68867e61-005a-4a6a-9863-0fb3728ef6c2" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>

10 changes: 10 additions & 0 deletions docs/getting-started/Admin/developer/transform-tab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Getting Started with the VS Code in the browser via the Transform Tab

## This video guide covers:

- [User Settings Configurations](how-tos/vscode/initial.md)
- Terminal setup
- A high level overview of VS Code editor
- How to reset your environment

<div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/1bb974c0650347549db8a02bf64269ff?sid=ae70920f-abc8-4e5d-977a-909d2a63daac" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
60 changes: 60 additions & 0 deletions docs/getting-started/Admin/developer/using-git.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Getting Started with Git - Branches and Changes

This guide covers essential Git commands for managing branches and making changes in your Git repository.

## Managing Branches

- **View Current Branch:** Check the current branch in your Git repository.

- **View All Branches Locally and Remote:** See both local and remote branches in your repository.

- **View local branches - `git branch`:** List all local branches using the `git branch` command.

- **Create a new branch - `git checkout -b <new_branch> <reference_branch>`:** Create a new branch and switch to it with a single command.

- **Switch branches - `git checkout <branch-name>`:** Switch between existing branches in your repository.

- **Stash changes - `git stash`:** Temporarily save your changes without committing them.

## Managing Changes

- **Open Modified Files:** View files with changes that haven't been committed.

- **View Side-by-Side Changes:** Compare changes between two versions side by side.

- **View Inline Changes:** View changes inline within the code.

- **Discard Changes:** Undo modifications and revert to the last committed state.

- **Stage Changes:** Prepare changes for a commit by staging them.

- **Commit:** Save staged changes with a commit message.

- **Undo Commit:** Undo the last commit while keeping changes in your working directory.

## Aliased Commands

- **git br = git branch:** Use `git br` to see available branches.

- **git co = git checkout:** Quickly switch to another branch with `git co`.

- **git l = git log:** View the commit log with `git l`.

- **git st = git status:** Check the Git status of your repository using `git st`.

- **git po:** Pull changes from the main branch into your local branch (specific usage may vary).

- **git prune-branches:** Delete local branches that have been deleted on the remote server.

For more in-depth information and advanced usage, please consult the **[Source Control Extension Docs](https://code.visualstudio.com/docs/sourcecontrol/overview)**.

<div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/67ea31eef4d94a5e844a5393684e4bc6?sid=f52c0561-ceb5-4baf-ba06-ab739ef3fcc5" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>

## Resources

- [Git Documentation](https://git-scm.com/doc)
- [GitHub Learning Lab](https://github.com/apps/github-learning-lab)
- [Git Cheat Sheet](https://github.com/github/training-kit/blob/master/downloads/github-git-cheat-sheet.pdf)
- [Git rebase - Why, When & How to fix conflicts ](https://youtube.com/watch?v=DkWDHzmMvyg&si=WE4VeEY1HKa_ejEA)
- [Git merge/pull tutorial](https://youtube.com/watch?v=DloR0BOGNU0&si=3EfopCU41XvkYkJJ)
- [Git pull rebase](https://youtube.com/watch?v=xN1-2p06Urc&si=8ZGMhJSy-A6N62l6)
50 changes: 50 additions & 0 deletions docs/getting-started/Admin/developer/working-with-dbt-datacoves.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Getting Started with dbt in Datacoves

This guide covers various aspects of using Datacoves for creating, editing, running, and testing models and sources.

## Creating and Editing Models and Sources

- **Manually creating dbt Sources and Model:** Learn how to create models and sources within Datacoves.

- **Usage of [dbt-coves generate sources](https://github.com/datacoves/dbt-coves#readme):** Explore how to use the `dbt-coves` tool to generate sources efficiently.

- **Handling variant columns and auto-generated SQL and YAML files:** Understand how to deal with variant columns and work with auto-generated SQL and YAML files.

## Running a Model

- **Running man icon:** Learn how to run a model using the man icon.

- **Right-click menu option:** Discover the options available in the right-click menu for running models.

- **Run current button:** Understand how to use the "Run current" button to execute models.

## Opening a Model and Auto Complete

- **Quick model access using Cmd/Ctrl + P:** Learn how to quickly access models using the keyboard shortcut.

- **Auto-complete feature for efficient coding:** Discover the auto-complete feature to streamline your development process.

- **Cmd/Ctrl + Enter shortcut for CTE previews:** Utilize the Cmd/Ctrl + Enter shortcut to preview Common Table Expressions (CTEs).

- **SQL linting for error checking and best practices adherence:** Learn about SQL linting for error checking and adherence to best practices.

## Compiled SQL vs Run SQL

- **Viewing the compiled model for debugging:** Explore how to use the `compiled dbt` preview to debug dbt issues or to get SQL you can run in your Data Warehouse.

- **Accessing compiled SQL:** Learn how to access compiled SQL code.

## Testing Models

- **Testing icon:** Understand how to initiate testing for your models.

- **More - Shows various options:** Explore additional testing options.

- **Datacoves Power User - Run Individual tests or all tests:** For power users, run individual tests or all tests for comprehensive testing.

## Closing Tabs

- **Closing models with Ctrl + Option/Alt + W:** Learn how to close tabs quickly.


<div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/fee7bd54660d4fb7884cc5beb040409f?sid=0f8c025f-623f-431b-9786-9099a5ac9f0d" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
129 changes: 129 additions & 0 deletions docs/how-tos/datacoves/how_to_configure_azure_DevOps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# How to clone with Azure DevOps

To enable Datacoves cloning from Azure DevOps you must complete a series of steps outlined in this how to.

- [Create your Application](how-tos/datacoves/how_to_configure_azure_DevOps.md#create-your-application)
- [Add your Application as a User in the DevOps Portal](how-tos/datacoves/how_to_configure_azure_DevOps.md#add-application-as-a-user-in-devops-portal)
- [Configure Secret or Certificate Based Authentication](how-tos/datacoves/how_to_configure_azure_DevOps.md#configure-your-secret-or-certificate-to-authenticate)
- [Gather Application Information](how-tos/datacoves/how_to_configure_azure_DevOps.md#gather-application-information)

## Create your application

If you do not have an Entra ID application created you can do so by following the following steps:

**Step 1:** From your [Azure Portal](https://portal.azure.com) search for EntraID.

**Step 2:** Select `App Registrations` from the left navigation menu.

![App Registration](assets/azure_devops_overview.png)

**Step 3:** Select `+ New registration` and fill out the fields as seen below:
- **Name:** Give your application a meaningful name
- **Supported account types**: Select `Accounts in this organizational directory only`

**Step 4:** Click `Register`
![Register Application](assets/azure_devops_register_application.png)

## Add Application as a user in DevOps Portal

**Step 1:** In a another tab (You will need to return to your application later), sign in to your [Azure DevOps Portal](https://dev.azure.com) and click `Organization settings` at the bottom of the left navigation.

![Organization Settings](assets/azure_devops_organization_settings.png)

**Step 2:** Select `Users` in the left navigation menu.

![Organization Navbar](assets/azure_devops_user_nav.png)

**Step 3:** Select `Add Users` to add the Application to the user list.

![Add User button](assets/azure_devops_add_user_button.png)

**Step 4:** Set the User as the application you created above, give it Basic Access and select `Send email invites`.

![Add User menu](assets/azure_devops_add_user_menu.png)

## Configure your secret or certificate to authenticate

You have two authentication methods available to you, secrets or certificates. Please select one and follow the steps to configure.

**Step 1:** Navigate back to the tab where you created your application in the Azure Portal. You should be inside your newly created application.

Select the `Certificates & Secrets` option in the left navigation menu.

![Navigtion](assets/azure_devops_secret_nav.jpg)

### Secret Based Authentication

To configure a secret:

**Step 2:** Select `Client Secrets` in the top navigation menu and `+ New Secret`.

**Step 3:** Give it a meaningful description and set your desired expiration date.

**Step 3:** Copy the Value onto a notepad

![Azure Secret](assets/azure_devops_secret.jpg)

### Certificate Based Authentication

To configure a certificate:

**Step 2:** Select `Certificates` from the top navigation menu.

![Upload Certificate](assets/azure_devops_upload_certificate.png)

**Step 3:** To generate a certificate PEM file you will need to begin [configuring your Datacoves project](how-tos/datacoves/how_to_projects.md).

**Step 4:** Select `Azure DevOps Certificate` as your Cloning Strategy.

![Certificates](assets/azure_devops_certificate.jpg)

**Step 5:** Copy the certificate and save it as a plain text file on your desktop with a pem extension `datacoves_cert.pem`.

![Certificate PEM file](assets/azure_devops_certificate_copy.jpg)

**Step 6:** Navigate back to your Azure Portal tab and select `upload certificate`. Upload the PEM file you saved in the previous step.

![Upload Certificate](assets/azure_devops_upload_certificate.png)

**Step 7:** Give it a description and select `Add`.

## Gather application information

To configure your Datacoves project which we will do in the following section, you will need to collect some information.

### Application (Client) ID and Directory (Tenant) ID

You will need to gather the following Application information to configure your project to use Azure DevOps for cloning.

**Step 1:** From your [Azure Portal](https://portal.azure.com) search for EntraID.

**Step 2:** Select `App Registrations` from the left navigation menu.

![App Registration](assets/azure_devops_overview.png)

**Step 3:** Select `All Applications` and select your newly created app.

**Step 4:** Copy your Application (Client) ID and Directory (Tenant) ID.

![Azure DevOps Details](assets/azure_devops_app_details.jpg)

### Secret Based Authentication

You should have the secret value you save in an [earlier section](how-tos/datacoves/how_to_clone_with_azure.md#secret)

### Repo SSH and HTTP urls

**Step 1:** Log in to your [Azure DevOps Portal](dev.azure.com).

**Step 2:** Navigate to your project.

**Step 3:** Navigate to your repo and select the `Clone` button.

**Step 2:** Copy **both** the SSH **and** HTTP urls and enter in the appropriate fields in the project setup screen in Datacoves.
![SSH and HTTP](assets/azure_devops_https.png)

Congrats, you are now ready to [configure your project](how-tos/datacoves/how_to_projects.md)



21 changes: 19 additions & 2 deletions docs/how-tos/datacoves/how_to_projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,27 @@ A Project configuration consists of the following fields:

- **Name** This is what will be displayed in the Datacoves landing page.
- **Git Repo** This is the git repository associated with this project
- **Clone strategy** determines how Datacoves will communicate with your git repository(SSH or HTTPS). Each clone strategy is configured as follows:
- **Clone strategy** determines how Datacoves will communicate with your git repository(SSH, HTTPS, or Azure DevoOps Secret/Certificate). Each clone strategy is configured as follows:

- **SSH** When SSH is selected, an SSH public Key will be automatically generated for you to configure in your git provider as a deployment key.
![Repo SSH Key](./assets/projects_ssh_key.png)

- **HTTPS** When HTTPS is selected, the following fields must be filled in `Git HTTPS url`, `Username` and `Password`
![Repo User Password Prompt](./assets/projects_https_data.png)
- **Release branch** defines the default branch in your repository. This is typically `main` or `master`

- **Azure DataOps Secret** When Azure DataOps Secret is selected, a secret key is required for authentication. See this [how-to guide on configuring Azure DevOps](how-tos/datacoves/how_to_configure_azure_DevOps.md) for detailed configuration information.
- **Git SSH url:** Cloning url found in Azure DevOps Portal
- **Azure HTTPS Clone url** Cloning url found in Azure DevOps Portal
- **Tenant ID:** ID found in Azure Portal
- **Application ID:** ID found in Azure Portal
- **Client Secret:** This will be the [secret value](how-tos/datacoves/how_to_clone_with_azure.md#secret) found in Azure Portal.
- **Release Branch:** This will be the branch you would like to clone. It should be `main`

- **Azure DataOps Certificate** When Azure DataOps Certificate is selected, a certificate is needed for secure communication. See this [how-to guide on configuring Azure DevOps](how-tos/datacoves/how_to_configure_azure_DevOps.md) for detailed configuration information.
- **Certificate PEM file**: You will need to copy the PEM file to your desktop and [upload in Azure](how-tos/datacoves/how_to_clone_with_azure.md#certificate).
- **Git SSH url:** Cloning url found in Azure DevOps Portal
- **Azure HTTPS Clone url** Cloning url found in Azure DevOps Portal
- **Tenant ID:** ID found in Azure Portal
- **Application ID:** ID found in Azure Portal
- **Release branch** defines the default branch in your repository. This is typically `main` or `master`
- **CI/CD Provider** when provided, this will display a link to your CI/CD jobs on the Observe tab of a Datacoves environment. Once you choose your provider, you will be able to specify your `CI jobs home url`

0 comments on commit da277cf

Please sign in to comment.