Deploy Databricks asset bundles using the Databricks CLI.
This GitHub Action automates the deployment of Databricks asset bundles using the Databricks CLI. It supports multiple authentication methods and integrates seamlessly into your CI/CD pipelines.
- Deploy Databricks asset bundles
- Supports various authentication methods:
- Personal Access Token
- OAuth
- Azure Managed Identity
- Microsoft Entra ID
- Google Cloud Credentials
working-directory
: The directory containing the Databricks asset bundle configuration (required).databricks-host
: The Databricks workspace host URL (required).databricks-bundle-env
: The target environment for the Databricks asset bundle deployment (required).authentication-type
: The type of authentication to use (token
,oauth
,azure-managed-identity
,microsoft-entra-id
,google-credentials
). Default istoken
(required).databricks-token
: Databricks personal access token for authentication (optional, required ifauthentication-type
istoken
).databricks-client-id
: Databricks OAuth client ID for authentication (optional, required ifauthentication-type
isoauth
).databricks-client-secret
: Databricks OAuth client secret for authentication (optional, required ifauthentication-type
isoauth
).arm-client-id
: Azure Managed Identity or Microsoft Entra ID client ID (optional, required ifauthentication-type
isazure-managed-identity
ormicrosoft-entra-id
).arm-client-secret
: Microsoft Entra ID client secret (optional, required ifauthentication-type
ismicrosoft-entra-id
).arm-tenant-id
: Microsoft Entra ID tenant ID (optional, required ifauthentication-type
ismicrosoft-entra-id
).google-credentials
: Google Cloud credentials for authentication (optional, required ifauthentication-type
isgoogle-credentials
).
Add this action to your GitHub workflow file (e.g., .github/workflows/deploy.yml
) to deploy your Databricks asset bundle.
name: Deploy Databricks Asset Bundle
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy Asset Bundle
uses: lumiastudios/databricks-asset-bundles-deploy@v1.0.0
with:
working-directory: ./databricks-bundle
databricks-host: https://my-databricks-workspace.databricks.com
databricks-bundle-env: production
authentication-type: token
databricks-token: ${{ secrets.DATABRICKS_TOKEN }}
- Token: Use
databricks-token
. - OAuth: Use
databricks-client-id
anddatabricks-client-secret
. - Azure Managed Identity: Use
arm-client-id
. - Microsoft Entra ID: Use
arm-client-id
,arm-client-secret
, andarm-tenant-id
. - Google Credentials: Use
google-credentials
.
Feel free to open issues or submit pull requests to improve this action. For detailed contribution guidelines, please refer to our CONTRIBUTING.md.
This project is licensed under the Apache License 2.0.