<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Databricks Apps - Deployment process - Need help !! in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167652#M55753</link>
    <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/129689"&gt;@Sanjeeb2024&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Definitely DABs are good approach here.&amp;nbsp;One thing I would add here is to keep the &lt;STRONG&gt;deployment identity&lt;/STRONG&gt; and &lt;STRONG&gt;App run time Identity&amp;nbsp;&lt;/STRONG&gt;separate.&lt;/P&gt;&lt;P&gt;For DEV -&amp;gt; PROD, the recommended pattern is to deploy the app with DAB from CI/CD, ideally using a dedicated &lt;STRONG&gt;service principal.&amp;nbsp;&lt;/STRONG&gt;The app itself gets its own &lt;STRONG&gt;dedicated runtime service principal&lt;/STRONG&gt;&amp;nbsp;in each environment.&amp;nbsp;and it's access to SQL warehouses/ tables/ volumes etc should be declared as app resources / bundle config (where supported) rather than granting manually after deployment.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;For the permissions part specifically:&lt;/STRONG&gt;&amp;nbsp;you do not need to manually discover that runtime service principal after deployment. In the bundle it can be referenced&amp;nbsp; directly using :&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;${resources.apps.&amp;lt;app-key&amp;gt;.service_principal_client_id}&lt;/LI-CODE&gt;&lt;P&gt;and use that identity in grants/resources during same deployment.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Typical Flow is:&lt;BR /&gt;&lt;/STRONG&gt;Git Actions/Dev-ops → CI/CD → bundle validate → bundle deploy -t prod → bundle run &amp;lt;app&amp;gt; -t prod&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;: bundle deploy updates the app resource/source but not necessarily restart the running app, so Databricks recommends bundle run after deployment. Reference for CI/CD from databricks docs&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/cicd-github-actions" target="_self"&gt;here&lt;/A&gt;.&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For environment specific resources:&lt;/STRONG&gt;&amp;nbsp;use bundle targets/variables, so DEV/TEST/PROD can point to respective catalogs/ warehouses / tables etc while keeping the same app definition.&lt;/P&gt;&lt;P&gt;If the App already exists because it was created manually or through another deployment process, can &lt;STRONG&gt;bind existing App to the bundle&amp;nbsp;&lt;/STRONG&gt;to avoid App name already exists kind of errors while deploying.&lt;/P&gt;&lt;P&gt;Can also declare App dependencies/resources in the Bundle Yaml. The supported&amp;nbsp;app resource types documented&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/dev-tools/bundles/resources#app-resources" target="_self"&gt;here&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 05 Sep 2026 10:13:56 GMT</pubDate>
    <dc:creator>data_pulse</dc:creator>
    <dc:date>2026-09-05T10:13:56Z</dc:date>
    <item>
      <title>Databricks Apps - Deployment process - Need help !!</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167637#M55746</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;Do we have any guidelines or a CI/CD approach for deploying a Databricks app from one environment (e.g., DEV) to PROD?We are currently facing the following challenge:We created a Databricks app in the DEV environment through the UI. At runtime, the app creates a service principal, to which we granted the required permissions to access Databricks tables. After deploying the code, everything works as expected in DEV.How can we fully automate the deployment process from DEV to PROD? In particular, how can we automate assigning the required permissions to the service principal that is created at runtime in the target environment?Any guidance or examples would be appreciated.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Sat, 05 Sep 2026 05:38:57 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167637#M55746</guid>
      <dc:creator>Sanjeeb2024</dc:creator>
      <dc:date>2026-09-05T05:38:57Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Apps - Deployment process - Need help !!</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167639#M55747</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/129689"&gt;@Sanjeeb2024&lt;/a&gt;&amp;nbsp;DABs is the right approach for managing and promoting Databricks Apps across environments (DEV to PROD). When you deploy an app via DABs, Databricks automatically provisions a dedicated service principal for that app instance. This service principal persists across all subsequent code updates and is deleted only when the app itself is deleted. Each target environment maintains its own isolated app instance with its own dedicated service principal, keeping DEV and PROD credentials and identities completely decoupled. More details &lt;A href="https://docs.databricks.com/aws/en/dev-tools/bundles/apps-tutorial/" target="_self"&gt;here&lt;/A&gt;&lt;/P&gt;&lt;P&gt;To automate access in the target environment, you can declare &lt;STRONG&gt;grants&lt;/STRONG&gt; resource directly in the bundle YAML rather than configuring permissions manually in Unity Catalog. DABs exposes the runtime service principal using bundle substitution via &lt;STRONG&gt;${resources.apps.&amp;lt;app-name&amp;gt;.service_principal_client_id}&lt;/STRONG&gt;, allowing you to bind permissions directly to the generated identity during the deploy phase&lt;/P&gt;&lt;LI-CODE lang="python"&gt;bundle:
  name: files_db_app

variables:
  catalog:
    default: dev_catalog

targets:
  dev:
    default: true
    workspace:
      host: https://dev
    variables:
      catalog: dev_catalog

  prod:
    workspace:
      host: https://prod
    variables:
      catalog: prod_catalog

resources:
  apps:
    file_app:
      name: 'file-app-${bundle.target}'
  grants:
    app_table_access:
      principal: '${resources.apps.file_app.service_principal_client_id}'
      privileges: [SELECT, MODIFY]
      catalog_name: ${var.catalog}&lt;/LI-CODE&gt;&lt;P&gt;By parameterizing the catalogs and schemas using bundle variables like ${var.catalog} and ${bundle.target}, permissions are resolved dynamically per stage. Running &lt;STRONG&gt;databricks bundle deploy -t prod&lt;/STRONG&gt; in the CI/CD pipeline deploys the updated application code, provisions or updates the PROD-specific service principal and applies all required table privileges in a single, declarative run. More details &lt;A href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/cicd-github-actions/" target="_self"&gt;here&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Sep 2026 07:16:38 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167639#M55747</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-09-05T07:16:38Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Apps - Deployment process - Need help !!</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167652#M55753</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/129689"&gt;@Sanjeeb2024&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Definitely DABs are good approach here.&amp;nbsp;One thing I would add here is to keep the &lt;STRONG&gt;deployment identity&lt;/STRONG&gt; and &lt;STRONG&gt;App run time Identity&amp;nbsp;&lt;/STRONG&gt;separate.&lt;/P&gt;&lt;P&gt;For DEV -&amp;gt; PROD, the recommended pattern is to deploy the app with DAB from CI/CD, ideally using a dedicated &lt;STRONG&gt;service principal.&amp;nbsp;&lt;/STRONG&gt;The app itself gets its own &lt;STRONG&gt;dedicated runtime service principal&lt;/STRONG&gt;&amp;nbsp;in each environment.&amp;nbsp;and it's access to SQL warehouses/ tables/ volumes etc should be declared as app resources / bundle config (where supported) rather than granting manually after deployment.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;For the permissions part specifically:&lt;/STRONG&gt;&amp;nbsp;you do not need to manually discover that runtime service principal after deployment. In the bundle it can be referenced&amp;nbsp; directly using :&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;${resources.apps.&amp;lt;app-key&amp;gt;.service_principal_client_id}&lt;/LI-CODE&gt;&lt;P&gt;and use that identity in grants/resources during same deployment.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Typical Flow is:&lt;BR /&gt;&lt;/STRONG&gt;Git Actions/Dev-ops → CI/CD → bundle validate → bundle deploy -t prod → bundle run &amp;lt;app&amp;gt; -t prod&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;: bundle deploy updates the app resource/source but not necessarily restart the running app, so Databricks recommends bundle run after deployment. Reference for CI/CD from databricks docs&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/dev-tools/databricks-apps/cicd-github-actions" target="_self"&gt;here&lt;/A&gt;.&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For environment specific resources:&lt;/STRONG&gt;&amp;nbsp;use bundle targets/variables, so DEV/TEST/PROD can point to respective catalogs/ warehouses / tables etc while keeping the same app definition.&lt;/P&gt;&lt;P&gt;If the App already exists because it was created manually or through another deployment process, can &lt;STRONG&gt;bind existing App to the bundle&amp;nbsp;&lt;/STRONG&gt;to avoid App name already exists kind of errors while deploying.&lt;/P&gt;&lt;P&gt;Can also declare App dependencies/resources in the Bundle Yaml. The supported&amp;nbsp;app resource types documented&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/dev-tools/bundles/resources#app-resources" target="_self"&gt;here&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Sep 2026 10:13:56 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-apps-deployment-process-need-help/m-p/167652#M55753</guid>
      <dc:creator>data_pulse</dc:creator>
      <dc:date>2026-09-05T10:13:56Z</dc:date>
    </item>
  </channel>
</rss>

