STS 中的 Spring Boot Dashboard - 第 4 部分:使用 Cloud Foundry 清单文件

工程 | Martin Lippert | 2016 年 3 月 22 日 | ...

欢迎回来,Spring 社区,

最新发布的 Spring Tool Suite 3.7.3 版本引入了许多围绕 Spring Boot Dashboard 的新特性。因此,我们继续去年开始的博客系列文章,向您介绍在 IDE 中使用基于 Spring Boot 的微服务项目的新方法(您可以在底部找到之前部分的链接)。

Cloud Foundry 清单文件

在本系列的这一新部分中,我们将仔细研究 Cloud Foundry 清单文件。它们是 Cloud Foundry 的一个概念,用作定义 Cloud Foundry 上应用程序配置的快捷方式。您不必在执行“cf push”时将每个参数和配置都传递给命令行,而是可以将所有配置数据放入 YAML 文件中,并将其传递给 push 命令。您可以在此处找到有关 Cloud Foundry 清单文件的更详细信息。

早期版本的 Spring Boot Dashboard 在项目存在名为“manifest.yml”的文件时,就已经使用清单文件将应用部署到 CF。这样做是“幕后”进行的,为您提供了便利。这很好,也很有用。但由于这种支持的“隐藏特性”,它也造成了一些困惑。

部署应用时选择清单文件

新版本的 Spring Boot Dashboard 将 Cloud Foundry 清单文件作为一流公民支持。当您首次从 Boot Dashboard 内部将应用程序部署到 Cloud Foundry 目标时,这一点就会显现出来。会弹出一个对话框,询问您应使用哪个清单文件进行此次部署操作。

此对话框允许您选择用于部署应用的清单文件。这也允许您在项目中拥有多个清单文件 - 例如针对 Cloud Foundry 上的不同空间或不同的部署环境。您还可以通过为每次部署操作选择不同的清单文件,将同一个应用多次部署到同一个 Cloud Foundry 目标。

对话框会显示所选清单文件的内容,以便您可以验证是否选择了正确的文件。如果清单文件内部有问题,您无需返回主 IDE 工作台,打开文件,编辑、保存,然后再返回部署操作。相反,您可以直接在对话框内编辑清单文件内容。这使得向 Cloud Foundry 部署应用变得非常容易。

如果您在 Cloud Foundry 上更新您的项目,boot dashboard 将记住您的选择并再次使用相同的清单文件。这也意味着下次将应用重新部署到 Cloud Foundry 时(例如在 boot dashboard 重启操作期间),清单文件的更改将生效。

当然,您可以改变主意并决定选择不同的清单文件。上下文菜单中的一个操作允许您打开相同的“选择清单文件”对话框并做出不同的选择。应用的下次重新部署将考虑该更改。您还可以使用此对话框快速查看当前项目关联的清单文件。

不使用清单文件进行部署

有时您可能还没有清单文件,或者不想使用现有的清单文件。在这种情况下,您可以在对话框中选择“手动模式”。

它会打开一个临时清单文件的编辑区域,并填充一些默认内容。您可以编辑这个临时清单内容,添加属性或更改现有属性。这允许您完全定义应用应该如何部署到 Cloud Foundry。

这个临时清单的内容不会存储在任何地方(我们可能会添加一个便捷选项,以便快速将手动输入的清单内容保存到新文件中),并且 IDE 也不会在您下次更新 Cloud Foundry 上的应用程序时记住它。相反,更新应用程序时将保留并使用 Cloud Foundry 上的现有配置。

如果您过去使用过清单文件,然后决定切换到手动模式,情况也是如此。后续对应用程序的更新将保持 Cloud Foundry 上的配置不变。

CF 上的配置更改

假设您使用清单文件从 boot dashboard 中将您的应用程序部署到了 Cloud Foundry。然后您通过 Web 控制台为已部署的应用添加服务,或者更改内存设置、扩容,或对配置进行类似更改。如果您返回 boot dashboard,也许更改了一些应用代码,然后在 Cloud Foundry 上重启(从而更新)应用,boot dashboard 将再次使用清单文件——并覆盖您在 CF 上所做的所有配置更改。为了避免这种情况,boot dashboard 在重新部署使用清单文件的应用程序时,会检查 Cloud Foundry 上的配置更改。如果发现配置不匹配,它会打开一个差异对比和合并对话框,并显示详细的更改内容。

此功能可以防止您意外覆盖配置更改。这是一个强大的对话框,允许您将 CF 上的配置更改合并到您的本地清单文件。您可以合并单个更改,也可以一次合并所有更改。这使得使用这些更改更新本地清单文件变得容易,并且将来更新应用程序时可以继续使用清单文件。

如果您不希望 CF 上的这些配置更改反映在您的本地清单文件中,请选择“忽略清单”按钮,boot dashboard 将保持 Cloud Foundry 上的配置不变。它会将应用程序切换到“手动模式”部署。

同样,如果您想明确更改这些设置,请转到上下文菜单并选择“选择清单”操作。

编辑清单文件

虽然 Cloud Foundry 清单文件是为您的应用程序配置 Cloud Foundry 的一种简洁明了的方式,但编辑这些文件可能很麻烦。幸运的是,新版本的 Spring Tool Suite 提供了专门用于 Cloud Foundry 清单文件的编辑器。

它为属性名称和选定的属性值提供了良好的内容辅助功能。

将鼠标悬停在属性上时,您将获得有关该属性的更多帮助以及何时使用的示例。

文件在输入时也会进行验证。协调错误会像在 Spring Boot 属性文件或编辑 Java 代码时一样直接在编辑器中显示。

好消息是:这种高级编辑支持在“选择清单文件”对话框中也可用(例如在处理手动清单或更改所选清单文件内容时)

即将推出

本博客系列的下一部分将介绍如何支持本地 Spring Boot 应用程序的多种启动配置。敬请期待。

Spring Boot Dashboard 博客系列

如果您恰好在五月中旬在巴塞罗那(任何时候去巴塞罗那都是不错的选择!),千万不要错过参加 Spring I/O 会议的机会,我将在会上介绍 Spring 的最新和最棒的内容。此外,SpringOne Platform(八月初,拉斯维加斯)的注册也已开放,如果您想享受早鸟票价,请抓紧时间。

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

抢先一步

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举办的活动

查看 Spring 社区即将举办的所有活动。

查看全部