Databricks CLI
Go to file
Andrew Nester dd554412a6
Retry app deployment if there is an active deployment in progress (#2153)
## Changes
If before running an app, the app was stopped with an active deployment,
then Apps backend start it and does the auto-deploy of the last active
deployment. In such cases StartApp API won't return any active or
pending deployments in its response but doing the deploy immediately
after the start might result in the error `Cannot deploy app *** as
there is an active deployment in progress`.

From DABs side, we have to do a new deployment on every `bundle run`
(command which start the app and does deployment) because local files in
bundle might have been changed and users expect to have the app running
with new code.

Thus this PR works around the error by catching “deployment in progress”
error, getting any active / pending deployments, waits for them to
finish and start the new deployment again. If 2nd attempts fails, the
whole command fails.

## Tests
Added unit test.
2025-01-15 12:51:06 +01:00
.codegen Bump github.com/databricks/databricks-sdk-go from 0.54.0 to 0.55.0 (#2126) 2025-01-14 16:02:34 +00:00
.github Pin all github actions to commit hash (#2129) 2025-01-14 07:39:34 +00:00
.vscode Remove unused vscode settings in the templates (#2013) 2024-12-13 16:13:21 +00:00
acceptance Use regular expressions for testdiff replacements (#2151) 2025-01-15 12:15:23 +01:00
bundle Retry app deployment if there is an active deployment in progress (#2153) 2025-01-15 12:51:06 +01:00
cmd Bump github.com/databricks/databricks-sdk-go from 0.54.0 to 0.55.0 (#2126) 2025-01-14 16:02:34 +00:00
docker Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
docs Removed autogenerated docs for the CLI commands (#1392) 2024-04-23 13:25:25 +00:00
integration Use regular expressions for testdiff replacements (#2151) 2025-01-15 12:15:23 +01:00
internal Remove cleanup in testcli package (#2108) 2025-01-10 10:16:53 +00:00
libs Use regular expressions for testdiff replacements (#2151) 2025-01-15 12:15:23 +01:00
.codegen.json Custom annotations for bundle-specific JSON schema fields (#1957) 2024-12-18 10:19:14 +00:00
.git-blame-ignore-revs Add .git-blame-ignore-revs with linter-related mass change commits (#2000) 2024-12-12 10:54:00 +01:00
.gitattributes Upgrade Go SDK to 0.54.0 (#2029) 2024-12-18 12:43:27 +00:00
.gitignore Coverage for acceptance tests (#2123) 2025-01-14 14:19:00 +00:00
.golangci.yaml Enable linter 'unconvert' and fix the issues found (#2136) 2025-01-14 10:56:38 +00:00
.goreleaser.yaml Address goreleaser deprecation warning (#1872) 2024-10-31 12:09:23 +00:00
.mockery.yaml Use mockery to generate mocks compatible with testify/mock (#1190) 2024-02-08 15:18:53 +00:00
CHANGELOG.md [Release] Release v0.238.0 (#2096) 2025-01-08 14:47:38 +00:00
Dockerfile Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
LICENSE Trim trailing whitespace (#1206) 2024-02-15 16:23:48 +00:00
Makefile Alias 'make' to 'make vendor fmt lint' (#2152) 2025-01-15 11:41:06 +01:00
NOTICE Add tests for default-python template on different Python versions (#2025) 2024-12-20 14:40:54 +00:00
README.md Add privacy notice to README (#1841) 2024-10-28 18:19:55 +00:00
go.mod Bump github.com/databricks/databricks-sdk-go from 0.54.0 to 0.55.0 (#2126) 2025-01-14 16:02:34 +00:00
go.sum Bump github.com/databricks/databricks-sdk-go from 0.54.0 to 0.55.0 (#2126) 2025-01-14 16:02:34 +00:00
main.go Add regression tests for CLI error output (#1566) 2024-07-10 06:38:06 +00:00
main_test.go Fix ability to import the CLI repository as module (#1671) 2024-08-12 14:20:04 +00:00

README.md

Databricks CLI

build

This project is in Public Preview.

Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html.

Installation

This CLI is packaged as a dependency-free binary executable and may be located in any directory. See https://github.com/databricks/cli/releases for releases and the Databricks documentation for detailed information about installing the CLI.


Homebrew

We maintain a Homebrew tap for installing the Databricks CLI. You can find instructions for how to install, upgrade and downgrade the CLI using Homebrew here.


Docker

You can use the CLI via a Docker image by pulling the image from ghcr.io. You can find all available versions at: https://github.com/databricks/cli/pkgs/container/cli.

docker pull ghcr.io/databricks/cli:latest

Example of how to run the CLI using the Docker image. More documentation is available at https://docs.databricks.com/dev-tools/bundles/airgapped-environment.html.

docker run -e DATABRICKS_HOST=$YOUR_HOST_URL -e DATABRICKS_TOKEN=$YOUR_TOKEN ghcr.io/databricks/cli:latest current-user me

Authentication

This CLI follows the Databricks Unified Authentication principles.

You can find a detailed description at https://github.com/databricks/databricks-sdk-go#authentication.

Privacy Notice

Databricks CLI use is subject to the Databricks License and Databricks Privacy Notice, including any Usage Data provisions.