为 vespa 应用程序动态提供配置的最佳方式是什么?
似乎讨论的唯一方法是将配置值烘焙到应用程序包中,但除此之外还有什么方法可以提供配置值?即是否有 cli 工具可以在运行时更新单个配置值?
是否有任何建议或最佳实践来管理跨不同环境(即生产与开发)的配置?在 Oath/VMG 中,配置是检查到源代码控制中还是在此之外进行管理?
为 vespa 应用程序动态提供配置的最佳方式是什么?
似乎讨论的唯一方法是将配置值烘焙到应用程序包中,但除此之外还有什么方法可以提供配置值?即是否有 cli 工具可以在运行时更新单个配置值?
是否有任何建议或最佳实践来管理跨不同环境(即生产与开发)的配置?在 Oath/VMG 中,配置是检查到源代码控制中还是在此之外进行管理?
通常,所有配置更改都是通过部署更新的应用程序包进行的。正如您所建议的,这通常由 CI/CD 设置完成,该设置在 git 存储库发生更改时从 git 存储库构建和部署应用程序包。
通过这种方式,很容易确保更改已被审查(在合并之前),跟踪所有已进行的更改并在必要时回滚它们。也很容易验证在开发/测试环境中部署和测试的相同更改(最好是通过自动化测试)是部署到生产环境中的更改 - 因为相同的应用程序包通过每个环境部署命令。
但是,也可以更新已部署的应用程序包中的文件并从中创建新会话,如果您的应用程序包有一些巨大的资源,这可能会很有用。请参阅https://docs.vespa.ai/documentation/cloudconfig/deploy-rest-api-v2.html#use-case-modify