# 第 19 章 部署 Spring

本章内容

* 将 Spring 应用程序构建为 WAR 或  JAR
* 将 Spring 应用程序推送至 Cloud Foundry
* 使用 Docker 容器化部署 Spring 应用程序

想像一部您最喜欢的动作电影，并且您现在正在电影院看它。伴随着高速的追逐、爆炸、战斗，真是一段惊心动魄的视听旅程。但是如果还没有看到电影中正义战胜邪恶，播放就停止了。剧院的灯光亮起来，每个人都开始往外走，您一定会明白，虽然情节的铺垫过程不可忽视，但最令人兴奋的是电影的高潮，结局是非常重要的。没有结局，那就成了只问耕耘,不问收获。

这就像为解决业务问题，投入了大量精力开发的应用程序却不部署，不让其他人使用和享受成果。虽然我们编写的大多数应用程序都不涉及汽车追逐或爆炸（至少我希望不是这样），但在开发的过程中，一定经历过困难。即使我们都清楚，并不是写的每一行代码都注定要投入生产，但如果开发的应用从来不实际部署，那是多么遗憾的事啊。

到目前为止，我们一直专注于使用 Spring Boot 的特性，来帮助我们开发一个应用程序。在这一过程中有一些令人兴奋的步骤。现在一切开发过程都结束了。如果您没有越过终点线来部署应用程序，那么您将一无所获。

在本章中，我们将跨过开发 Spring 应用程序这一阶段，了解如何部署应用程序。虽然对于任何部署过基于 Java 应用程序的人来说，似乎太简单了。但 Spring Boot 以及 Spring 相关的项目有一些独特特性，您可以利用这些特性部署 Spring Boot 应用程序。

事实上，与大多数 Java web 应用程序不同，因为 Java web 应用程序通常将应用程序作为 WAR 文件部署到服务器。Spring Boot 提供了几个部署选项。在我们了解如何部署 Spring Boot 应用程序前，让我们先看看有哪些部署选项可供您选择。
