向客户发布 Snowflake Native App¶
先决条件¶
您的
config.toml
文件中必须存在现有连接。您的 Snowflake Native App 项目中必须存在
snowflake.yml
文件。如果要将 Snowflake Native App 发布到 Snowflake Marketplace,必须拥有现有列表。
如何向客户发布 Snowflake Native App¶
在 Snowflake 中,通过设置发布指令向客户发布 Snowflake Native App。发布指令是一组规则,用于确定 Snowflake Native App 的哪个版本和补丁可供哪些客户使用。
发布通道为不同类型的客户提供了管理单独发布流程的方法。例如,早期访问客户可以使用 ALPHA 通道,内部 QA 团队可以使用 QA 通道,一般客户可以使用 DEFAULT 通道。
如果为应用程序包启用了发布通道,则发布指令将绑定到发布通道;否则,发布指令将直接绑定到应用程序包。
备注
发布通道功能可能并非在所有地区都可用。有关更多信息,请联系 Snowflake 支持部门。
启用了发布通道的过程¶
要显式启用发布通道,请在 config.toml
文件的 [cli.features]
部分添加 enable_release_channels=true
。启用发布通道后,需要重新创建或更新应用程序包。要确认已启用发布通道,请运行 snow app release-channel list 命令。然后会显示应用程序包的发布通道列表:
snow app release-channel list
在默认发布通道上向所有客户发布现有版本和补丁的最简单方法是使用带有 --version
和 --patch
选项的 snow app publish 命令:
snow app publish --version v1 --patch 1
要自动创建新的版本和补丁,请使用 --create-version
选项:
snow app publish --version v1 --create-version
要将 Snowflake Native App 发布到非默认发布通道,请使用 --channel
选项:
snow app publish --version v1 --patch 1 --channel ALPHA
要将 Snowflake Native App 发布到针对特定客户的自定义发布指令,请使用 --directive
选项:
snow app publish --version v1 --patch 1 --channel ALPHA --directive customers_group_1
snow app publish
命令将版本添加到发布通道中。如果发布通道已经具有允许的最大版本数,此命令首先尝试从通道中删除任何发布指令都没有引用的版本之一。
将版本添加到发布通道后,该命令将该发布通道的默认发布指令设置为指定的版本和补丁。
要对正在发生的事情进行更多控制,请将之前的命令替换为以下命令:
snow app release-channel add-version --version v1 ALPHA
snow app release-directive set customers_group_1 --version v1 --patch 1
有关管理发布通道和发布指令的更多信息,请参阅 snow app release-channel 和 snow app release-directive 命令参考。
禁用了发布通道的过程¶
如果未为应用程序包启用发布通道,则发布指令将直接绑定到应用程序包。
向所有客户发布现有版本和补丁的最简单方法是使用带有 --version
和 --patch
选项的 snow app publish 命令。
snow app publish --version v1 --patch 1
此命令将应用程序包的默认发布指令设置为指定的版本和补丁。在这种情况下,发布通道尚未启用,因此该过程中不涉及发布通道。
如果希望 publish 命令自动创建新的版本和补丁,请使用 --create-version
选项:
snow app publish --version v1 --create-version
要将 Snowflake Native App 发布到针对特定客户的自定义发布指令,请使用 --directive
选项:
snow app publish --version v1 --patch 1 --directive customers_group_1
即使将来启用了发布通道,这些 snow app publish
命令仍然可以继续运行。启用发布通道后,该命令将使用默认发布通道启动。