az spring app deployment

Note

This reference is part of the spring extension for the Azure CLI (version 2.56.0 or higher). The extension will automatically install the first time you run an az spring app deployment command. Learn more about extensions.

Commands to manage life cycle of deployments of an app in Azure Spring Apps. More operations on deployments can be done on app level with parameter --deployment. e.g. az spring app deploy --deployment .

Commands

Name Description Type Status
az spring app deployment create

Create a staging deployment for the app. To deploy code or update setting to an existing deployment, use az spring app deploy/update --deployment <staging deployment>.

Extension GA
az spring app deployment delete

Delete a deployment of the app.

Extension GA
az spring app deployment generate-heap-dump

Generate a heap dump of your target app instance to given file path.

Extension GA
az spring app deployment generate-thread-dump

Generate a thread dump of your target app instance to given file path.

Extension GA
az spring app deployment list

List all deployments in an app.

Extension GA
az spring app deployment show

Show details of a deployment.

Extension GA
az spring app deployment start-jfr

Start a JFR on your target app instance to given file path.

Extension GA

az spring app deployment create

Create a staging deployment for the app. To deploy code or update setting to an existing deployment, use az spring app deploy/update --deployment <staging deployment>.

az spring app deployment create --app
                                --name
                                --resource-group
                                --service
                                [--apms]
                                [--artifact-path]
                                [--build-certificates]
                                [--build-env]
                                [--builder]
                                [--config-file-patterns]
                                [--container-args]
                                [--container-command]
                                [--container-image]
                                [--container-registry]
                                [--cpu]
                                [--custom-actuator-path]
                                [--custom-actuator-port]
                                [--disable-app-log]
                                [--disable-probe {false, true}]
                                [--disable-validation {false, true}]
                                [--enable-liveness-probe {false, true}]
                                [--enable-readiness-probe {false, true}]
                                [--enable-startup-probe {false, true}]
                                [--env]
                                [--grace-period]
                                [--instance-count]
                                [--jvm-options]
                                [--language-framework]
                                [--liveness-probe-config]
                                [--main-entry]
                                [--max-replicas]
                                [--memory]
                                [--min-replicas]
                                [--no-wait]
                                [--readiness-probe-config]
                                [--registry-password]
                                [--registry-username]
                                [--runtime-version {Java_11, Java_17, Java_21, Java_8, NetCore_31}]
                                [--scale-rule-auth]
                                [--scale-rule-http-concurrency]
                                [--scale-rule-metadata]
                                [--scale-rule-name]
                                [--scale-rule-type]
                                [--server-version]
                                [--skip-clone-settings]
                                [--source-path]
                                [--startup-probe-config]
                                [--target-module]
                                [--version]

Examples

Deploy source code to a new deployment of an app. This will pack current directory, build binary with Pivotal Build Service and then deploy.

az spring app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --source-path

Deploy a pre-built jar to an app with jvm options and environment variables.

az spring app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --artifact-path app.jar --jvm-options="-XX:+UseG1GC -XX:+UseStringDeduplication" --env foo=bar

Deploy a container image on Docker Hub to an app.

az spring app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1

Deploy a container image on a private registry to an app.

az spring app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 --container-registry myacr.azurecr.io --registry-username <username> --registry-password <password>

Required Parameters

--app

Name of app.

--name -n

Name of deployment.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--apms

(Enterprise Tier Only) Space-separated APM names.

--artifact-path

Deploy the specified pre-built artifact (jar, war or netcore zip, war is in public preview).

--build-certificates

(Enterprise Tier Only) Space-separated certificate names, the certificates are used during build time.

--build-env

Space-separated environment variables in 'key[=value]' format.

--builder

(Enterprise Tier Only) Build service builder used to build the executable.

default value: default
--config-file-patterns

(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '""' to clear existing configurations.

--container-args

The arguments of the container image.

--container-command

The command of the container image.

--container-image

The container image tag.

--container-registry

The registry of the container image.

default value: docker.io
--cpu

CPU resource quantity. Should be 250m, 500m, 750m, 1250m or number of CPU cores.

--custom-actuator-path

(Enterprise Tier Only) Custom actuator path for the app. Default to "/actuator".

--custom-actuator-port

(Enterprise Tier Only) Custom actuator port for the app. Default to 8080.

--disable-app-log

Do not print application logs when deploy application.

default value: False
--disable-probe

If true, disable the liveness and readiness probe.

accepted values: false, true
--disable-validation

If true, disable jar validation.

accepted values: false, true
--enable-liveness-probe
Preview

If false, will disable the liveness probe of the app instance.

accepted values: false, true
--enable-readiness-probe
Preview

If false, will disable the readiness probe of the app instance.

accepted values: false, true
--enable-startup-probe
Preview

If false, will disable the startup probe of the app instance.

accepted values: false, true
--env

Space-separated environment variables in 'key[=value]' format.

--grace-period --termination-grace-period-seconds
Preview

Optional duration in seconds the app instance needs to terminate gracefully.

--instance-count

Number of instance.

--jvm-options

A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'.

--language-framework

Language framework of the container image uploaded. Supported values: "springboot", "".

--liveness-probe-config
Preview

A json file path indicates the liveness probe config.

--main-entry -m

A string containing the path to the .NET executable relative to zip root.

--max-replicas

The maximum number of replicas.

default value: 10
--memory

Memory resource quantity. Should be 512Mi, 1536Mi, 2560Mi, 3584Mi or #Gi, e.g., 1Gi, 3Gi.

--min-replicas

The minimum number of replicas.

default value: 1
--no-wait

Do not wait for the long-running operation to finish.

default value: False
--readiness-probe-config
Preview

A json file path indicates the readiness probe config.

--registry-password

The password of the container registry.

--registry-username

The username of the container registry.

--runtime-version

Runtime version of used language.

accepted values: Java_11, Java_17, Java_21, Java_8, NetCore_31
--scale-rule-auth --sra

Scale rule auth parameters. Format "=" and separated by space.

--scale-rule-http-concurrency --scale-rule-tcp-concurrency --srhc --srtc

The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules.

--scale-rule-metadata --srm

Scale rule metadata. Format "key[=value]" and separated by space.

--scale-rule-name --srn

The name of the scale rule.

--scale-rule-type --srt

The type of the scale rule. Default: http.

--server-version

(Standard and Basic Tiers Only) Tomcat server version. List all supported server versions by running az spring list-support-server-versions -o table. This feature is in public preview.

--skip-clone-settings

Create staging deployment will automatically copy settings from production deployment.

default value: False
--source-path

Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided.

--startup-probe-config
Preview

A json file path indicates the startup probe config.

--target-module

Child module to be deployed, required for multiple jar packages built from source code.

--version

Deployment version, keep unchanged if not set.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deployment delete

Delete a deployment of the app.

az spring app deployment delete --app
                                --name
                                --resource-group
                                --service
                                [--no-wait]

Required Parameters

--app

Name of app.

--name -n

Name of deployment.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--no-wait

Do not wait for the long-running operation to finish.

default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deployment generate-heap-dump

Generate a heap dump of your target app instance to given file path.

az spring app deployment generate-heap-dump --app
                                            --app-instance
                                            --file-path
                                            --resource-group
                                            --service
                                            [--deployment]

Required Parameters

--app

Name of app.

--app-instance

Target app instance you want to dump.

--file-path

The mount file path for your dump file.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deployment generate-thread-dump

Generate a thread dump of your target app instance to given file path.

az spring app deployment generate-thread-dump --app
                                              --app-instance
                                              --file-path
                                              --resource-group
                                              --service
                                              [--deployment]

Required Parameters

--app

Name of app.

--app-instance

Target app instance you want to dump.

--file-path

The mount file path for your dump file.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deployment list

List all deployments in an app.

az spring app deployment list --app
                              --resource-group
                              --service

Required Parameters

--app

Name of app.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deployment show

Show details of a deployment.

az spring app deployment show --app
                              --name
                              --resource-group
                              --service

Required Parameters

--app

Name of app.

--name -n

Name of deployment.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deployment start-jfr

Start a JFR on your target app instance to given file path.

az spring app deployment start-jfr --app
                                   --app-instance
                                   --file-path
                                   --resource-group
                                   --service
                                   [--deployment]
                                   [--duration]

Required Parameters

--app

Name of app.

--app-instance

Target app instance you want to dump.

--file-path

The mount file path for your dump file.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--duration

Duration of JFR.

default value: 60s
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

accepted values: json, jsonc, none, table, tsv, yaml, yamlc
default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.