cancel
Showing results for 
Search instead for 
Did you mean: 
Get Started Discussions
Start your journey with Databricks by joining discussions on getting started guides, tutorials, and introductory topics. Connect with beginners and experts alike to kickstart your Databricks experience.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to overwrite git_source configuration in Asset Bundles

Ariaa
New Contributor II

I'm using DAB to deploy a "jobs" resource into Databeicks and into  two environments: "dev" and "prod". I pull the notebooks from a remote git repository using "git_resource", and defined the default job to use a tag to find which version to pull. However, in deploying to "dev" I would like to use a branch instead of tag. This could be done in the target configuration for "dev" but the problem is that it will also keep the tag along with the branch, which fails the deployment. So, the question is how to ignore the tag where a branch is defined? 
Here are a snippet of my config files:
default_job.yml:

resources:
  jobs:
    job_name:
      name: "name"
      
      ...

      git_source:
        git_url: "<git_url>"
        git_provider: "<provider>"
        git_tag: "<tag>"

      ...

dev.yml:

targets:
  dev: 
    mode: development

  ...

   resources:
     jobs:
       job_name:
       git_source:
         git_branch: "<branch>"

This will end up into the following config:

git_source": {
          ""git_branch": "<branch>",
          "git_provider": "<provider>",
          "git_tag": "<tag>",
          "git_url": "<git_url>"
        }

 

2 REPLIES 2

Ariaa
New Contributor II

Hi @Retired_mod  and thanks for replying. How does your solution differ from mine? Unless I'm missing some points here the only difference is with indentation, which actually makes "resources" a new target!

Husky
New Contributor III

I use target overrides to switch between branch and tags on different environments:

 

resources:
  jobs:
    my_job:
      git_source:
        git_url: <REPO-URL>
        git_provider: gitHub

targets:
  staging:
    resources:
      jobs:
        my_job:
          git_source:
            # Use Git branch for staging deploys 
            git_branch: ${var.git_branch}

  prod:
    resources:
      jobs:
        my_job:
          git_source:
            # Use Git tag for prod deploys 
            git_tag: ${var.git_tag}

 

 Discussion about that can be found here: https://github.com/databricks/cli/issues/1255

You need to repeat that for every job you define, which can be a pain if you have many jobs.

Join Us as a Local Community Builder!

Passionate about hosting events and connecting people? Help us grow a vibrant local community—sign up today to get started!

Sign Up Now