欢迎回来,Spring 社区!
Spring Tool Suite 的最新版本 3.7.3 引入了许多围绕 Spring Boot 仪表盘的新功能。因此,我们将继续去年开始的博文系列,并向您介绍在 IDE 中使用基于 Spring Boot 的微服务项目的新方法(您可以在底部找到以前各部分的链接)。
Cloud Foundry 清单文件
在本系列的这一新部分中,我们将仔细研究 Cloud Foundry 清单文件。它们是 Cloud Foundry 的一个概念,用作定义 Cloud Foundry 上应用程序配置的快捷方式。与其在执行“cf push”时将每个参数和配置传递给命令行,不如将所有配置数据放入 YAML 文件,然后将其传递给 push 命令。有关 Cloud Foundry 清单文件的更多详细信息,请参阅此处。
Spring Boot 仪表盘的早期版本已经在项目中存在名为“manifest.yml”的文件时,使用清单文件将应用程序部署到 CF。这“在幕后”完成,以方便您使用。这很好用。但由于此支持的“隐藏性质”,也导致了一些混淆。
在部署应用程序时选择清单文件
Spring Boot 仪表盘的新版本支持 Cloud Foundry 清单文件作为一等公民。当您首次从 Boot 仪表盘内部将应用程序部署到 Cloud Foundry 目标时,这将开始显示。将弹出一个对话框,询问您应为此部署操作使用哪个清单文件。
此对话框允许您选择要用于部署应用程序的清单文件。这也允许您在项目中拥有多个清单文件 - 例如,用于 Cloud Foundry 上的不同空间或不同的部署环境。您还可以通过为每个部署操作选择不同的清单文件,将同一个应用程序多次部署到同一个 Cloud Foundry 目标。
该对话框显示所选清单文件的内容,以便您可以验证您是否选择了正确的文件。如果清单文件内部出现错误,您无需返回到主 IDE 工作台,打开文件,编辑它,保存它,然后返回到部署操作。而是在对话框中直接编辑清单文件内容。这使得将应用程序部署到 Cloud Foundry 变得非常容易。
启动仪表盘将记住您的选择,并在您在 Cloud Foundry 上更新项目时再次使用相同的清单文件。这也意味着,清单文件的更改将在下次将应用程序重新部署到 Cloud Foundry 时(例如,在启动仪表盘重新启动操作期间)被考虑在内。
当然,您可以改变主意并决定选择不同的清单文件。上下文菜单中的一个操作允许您打开相同的“选择清单文件”对话框并做出不同的选择。应用程序的下次重新部署将考虑此更改。您还可以使用此对话框快速检查当前与项目关联的清单文件。
无需清单文件进行部署
有时您还没有清单文件,或者您不想使用现有的清单文件。在这种情况下,您可以在对话框中选择“手动模式”。
它将打开一个临时清单文件的编辑区域,并用一些默认内容填充它。您可以编辑此临时清单内容,添加属性或更改现有属性。这允许您完全定义应用程序应如何部署到 Cloud Foundry。
该临时清单的内容不会存储在任何位置(我们可能会添加一个方便的选项,以便快速将手动输入的清单内容保存到新文件),并且 IDE 不会在您下次在 Cloud Foundry 上更新应用程序时记住它。相反,Cloud Foundry 上的现有配置将被保留并用于更新应用程序。
如果您过去使用过清单文件,然后决定切换到手动模式,情况也是如此。随后对应用程序的更新将保持 Cloud Foundry 上的配置不变。
CF 上的配置更改
假设您已使用清单文件从 Boot 仪表盘内部将应用程序部署到 Cloud Foundry。然后,您转到 Web 控制台并将服务添加到已部署的应用程序中 - 或更改内存设置,将其扩展或对配置进行类似的更改。如果您返回到 Boot 仪表盘,可能更改应用程序的一些代码,然后重新启动(并因此更新)Cloud Foundry 上的应用程序,则 Boot 仪表盘将再次使用清单文件 - 并丢弃您在 CF 上进行的所有配置更改。为了避免这种情况,Boot 仪表盘在重新部署使用清单文件的应用程序时会检查 Cloud Foundry 上的配置更改。如果发现配置不匹配,它将打开一个差异和合并对话框 - 并显示详细的更改。
此功能可防止您意外覆盖配置更改。它是一个强大的对话框,允许您将 CF 上的配置更改合并到本地清单文件中。您可以合并单个更改,也可以一次合并所有更改。这使得使用这些更改轻松更新本地清单文件变得很容易,并且您可以在将来更新应用程序时继续使用清单文件。
如果您不希望 CF 上的这些配置更改反映在您的本地清单文件中,请选择“忘记清单”按钮,启动仪表板将保留 Cloud Foundry 上的配置。它将应用程序切换到“手动模式”部署。
同样,如果您想明确更改这些设置,请转到上下文菜单并选择“选择清单”操作。
编辑清单文件
虽然 Cloud Foundry 清单文件是配置 Cloud Foundry 应用程序的一种简洁明了的方式,但编辑这些文件可能很麻烦。幸运的是,新版本的 Spring Tool Suite 带有一个专门用于 Cloud Foundry 清单文件的编辑器。
如果将鼠标悬停在属性上,您将获得有关该属性的更多帮助以及如何以及何时使用它的示例。
在键入时也会验证文件。与在 Spring Boot 属性文件或编辑 Java 代码时一样,协调错误会直接显示在编辑器中。
好消息是:此高级编辑支持也可用于“选择清单文件”对话框(例如,在处理手动清单或更改所选清单文件内容时)。
即将推出
本博文系列的下一部分将介绍对本地 Spring Boot 应用程序使用多个启动配置的新支持。敬请关注。
Spring Boot 仪表板博文系列