snow app deploy¶
Uploads your project source to Snowflake, builds it remotely, and starts or upgrades the Application Service. This is the primary command for shipping changes to a Snowflake App Runtime project.
When the project snowflake.yml contains a snowflake-app entity, snow app deploy runs the Snowflake App Runtime flow (upload, build, deploy). When it
contains a Native App entity, the command runs the Native App flow instead.
Syntax¶
Arguments¶
None
Options¶
--upload-onlyRe-upload source files without rebuilding or redeploying. Only one of
--upload-only,--build-only, or--deploy-onlycan be used at a time. Default: False.--build-onlyRe-trigger the remote build without re-uploading or redeploying. Only one of
--upload-only,--build-only, or--deploy-onlycan be used at a time. Default: False.--deploy-onlyCreate or upgrade the Application Service without re-uploading or rebuilding. Only one of
--upload-only,--build-only, or--deploy-onlycan be used at a time. Default: False.--connection, -c, --environment TEXTName of the connection, as defined in your
config.tomlfile. Default:default.--host TEXTHost address for the connection. Overrides the value specified for the connection.
--port INTEGERPort for the connection. Overrides the value specified for the connection.
--account, --accountname TEXTName assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXTUsername to connect to Snowflake. Overrides the value specified for the connection.
--password TEXTSnowflake password. Overrides the value specified for the connection.
--authenticator TEXTSnowflake authenticator. Overrides the value specified for the connection.
--workload-identity-provider TEXTWorkload identity provider (AWS, AZURE, GCP, OIDC). Overrides the value specified for the connection.
--private-key-file, --private-key-path TEXTSnowflake private key file path. Overrides the value specified for the connection.
--token TEXTOAuth token to use when connecting to Snowflake.
--token-file-path TEXTPath to file with an OAuth token to use when connecting to Snowflake.
--database, --dbname TEXTDatabase to use. Overrides the value specified for the connection.
--schema, --schemaname TEXTDatabase schema to use. Overrides the value specified for the connection.
--role, --rolename TEXTRole to use. Overrides the value specified for the connection.
--warehouse TEXTWarehouse to use. Overrides the value specified for the connection.
--temporary-connection, -xUses a connection defined with command-line parameters, instead of one defined in config. Default: False.
--mfa-passcode TEXTToken to use for multi-factor authentication (MFA).
--enable-diagWhether to generate a connection diagnostic report. Default: False.
--diag-log-path TEXTPath for the generated report. Defaults to system temporary directory.
--diag-allowlist-path TEXTPath to a JSON file that contains allowlist parameters.
--format [TABLE|JSON|JSON_EXT|CSV]Specifies the output format. Default: TABLE.
--verbose, -vDisplays log entries for log levels
infoand higher. Default: False.--debugDisplays log entries for log levels
debugand higher; debug logs contain additional information. Default: False.--silentTurns off intermediate output to console. Default: False.
--enhanced-exit-codesDifferentiate exit error codes based on failure type. Default: False.
--helpDisplays the help text for this command.
Usage notes¶
Running snow app deploy with no phase flags performs the full pipeline:
- Upload: Syncs local source files to an internal stage.
- Build: Triggers a remote container build using the compute pool and external access integration specified in
snowflake.yml. - Deploy: Creates or upgrades the Application Service from the build output.
If a deploy fails partway through, retry just the failed phase:
snow app deploy --upload-only: Re-upload source files without rebuilding or redeploying.snow app deploy --build-only: Re-trigger the build without re-uploading or redeploying.snow app deploy --deploy-only: Create or upgrade the service without re-uploading or rebuilding.
Only one phase flag can be used at a time.
Examples¶
Deploy the full pipeline (upload, build, deploy):
Re-trigger only the build after fixing a build error: