• 20191127 Spring Boot官方文档学习(6-8)


    6.部署Spring Boot应用程序

    在部署应用程序时,Spring Boot的灵活打包选项提供了很多选择。您可以将Spring Boot应用程序部署到各种云平台,容器映像(例如Docker)或虚拟机/真实机上。

    6.1。部署到云

    Spring Boot的可执行jar已为大多数流行的云PaaS(平台即服务)服务商准备就绪。这些服务商往往要求您“自带容器”。他们管理应用程序流程(不是专门用于Java应用程序),因此他们需要一个中间层,以使您的应用程序适应云中正在运行的流程的概念。

    两家受欢迎的云提供商,Heroku和Cloud Foundry,采用了“buildpack”方法。buildpack将部署的代码包装在启动应用程序所需的任何内容中。它可以是JDK,也可以是对java,嵌入式Web服务器或成熟的应用程序服务器的调用。一个buildpack是可插入的,但是理想情况下,您应该能够通过尽可能少的自定义来获得它。这减少了您无法控制的功能的占用空间。它使开发和生产环境之间的差异最小化。

    理想情况下,您的应用程序像Spring Boot可执行jar一样,具有打包运行所需的一切。

    在本节中,我们研究如何使在“入门”部分中开发的简单应用程序启动并在云中运行。

    6.1.1. Cloud Foundry

    6.1.2. Heroku

    6.1.3. OpenShift

    6.1.4。亚马逊网络服务(AWS)

    6.1.5. Boxfuse 和 Amazon Web Services

    6.1.6. Google Cloud

    跳过

    6.2。安装Spring Boot应用程序

    除了使用java -jar来运行Spring Boot应用程序外,还可以为Unix系统制作完全可执行的应用程序。完全可执行的jar可以像任何其他可执行二进制文件一样执行,也可以向init.dsystemd注册。这使得在普通生产环境中安装和管理Spring Boot应用程序变得非常容易。

    完全可执行的jar通过将额外的脚本嵌入文件的开头来工作。当前,某些工具不接受此格式,因此您可能无法始终使用此技术。例如,jar -xf可能无声地失败提取出可以完全执行的jar或war。建议仅当您打算直接执行jar或war时才使其完全可执行,而不是使用java -jar来运行它或将其部署到servlet容器中。

    不能使zip64格式的jar文件完全可执行。尝试这样做将导致直接执行或使用java -jar运行时,jar文件被报告为损坏。包含一个或多个zip64格式嵌套jar的标准格式jar文件可以完全执行。

    要使用Maven创建一个“完全可执行”的jar,请使用以下插件配置:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <executable>true</executable>
        </configuration>
    </plugin>
    

    以下示例显示了等效的Gradle配置:

    bootJar {
        launchScript()
    }
    

    然后,您可以通过键入./my-application.jar(my-application是artifact的名称)来运行应用程序。包含jar的目录用作应用程序的工作目录。

    6.2.1。支持的操作系统

    6.2.2。Unix / Linux服务

    6.2.3. Microsoft Windows Services

    跳过

    7. Spring Boot CLI

    Spring Boot CLI是一个命令行工具,如果您想快速开发Spring应用程序,可以使用它。它使您可以运行Groovy脚本,这意味着您具有类似Java的熟悉语法,而没有太多样板代码。您还可以引导一个新项目或为其编写自己的命令。

    跳过

    8.构建工具插件

    跳过

  • 相关阅读:
    编程语言扮演的3个角色,它连接了机器、开发者以及团队!
    20行代码爬取王者荣耀全英雄皮肤!让你享受白嫖的快乐!
    3分钟教会你如何发布Qt程序!高级编程界面开发也是如此的简单!
    C 语言实现一个简单的 web 服务器!了解 Socket 通讯工作原理!
    log4j
    解决MySQL 一闪而过的情况
    subversion和客户端的应用
    Map集合
    代码块执行顺序。
    ArrayList-VS-LinkedList
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/11944593.html
Copyright © 2020-2023  润新知