在 Github 上查看

运行 Java 应用

学习如何在 Amphitheatre 上部署 Java 应用

在 Amphitheatre 上运行应用程序基本上就是找出如何将其打包为可部署的镜像。一旦打包 好,就可以部署到 Amphitheatre 平台。

示例应用程序

我们的示例将是一个使用 Java 和 Spring Boot 的基本 "Hello World" 示例。

您可以从 GitHub 存储库 获取示例的代码。只需运行 git clone https://github.com/amphitheatre-app/amp-example-java 来获取本地副本。

创建一个简单的 Web 应用程序

现在,您可以为一个简单的 Web 应用程序创建一个 Web 控制器,如下面的代码(来自 src/main/java/hello/HelloController.java)所示:

package hello;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class HelloController {
    @RequestMapping("/")
    public String index() {
        return "Hello, World!";
    }
}

创建一个应用程序类

Spring Initializr 会为您创建一个简单的应用程序类。然而,在这种情况下,它太简单 了。您需要修改应用程序类以匹配以下代码(来自 src/main/java/hello/Application.java):

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

运行应用程序

要运行应用程序,请在终端窗口(在 complete 目录中)中运行以下命令:

./mvnw spring-boot:run

现在,在另一个终端窗口中使用 curl 运行服务,运行以下命令(显示其输出):

$ curl localhost:8080
Hello, World!

安装 Amphitheatre

我们已准备好开始使用 Amphitheatre,这意味着我们需要 amp,我们的 CLI 应用程序, 用于管理在 Amphitheatre 上的应用程序。如果您已经安装了它,请继续。如果没有,请转 到 我们的安装指南

初始化 Character

要在 Amphitheatre 上启动应用程序,请在源代码所在的目录中运行 amp init。这将通 过检查您的源代码来为您创建和配置一个 Character,然后提示您部署。

$ amp init

Scanning source code
 Detected Java app
 Using the following build configuration
         Builder: paketobuildpacks/builder:base
		 Buildpacks: gcr.io/paketo-buildpacks/java
Wrote config file .amp.toml
Your Character is ready. run with `amp run`
...

首先,此命令会扫描您的源代码,以确定如何构建部署镜像,以及识别应用程序所需的任何 其他配置,如密钥和暴露的端口。

在扫描源代码并打印结果后,amp 会为您创建一个 Character,并将配置写入 .amp.toml 文件。然后,您将被提示构建和部署您的角色。一旦完成,您的应用程序将在 Amphitheatre 上运行。

在 .amp.toml 中

.amp.toml 文件现在包含了部署您的 Character 的默认配置。如果我们查看 .amp.toml 文件,我们可以在其中看到它:

name = "amp-example-java"
version = "0.0.1"
authors = ["Eguo Wang <wangeguo@gmail.com>"]
edition = "v1"
description = "一个简单的 Java 示例应用程序"
readme = "README.md"
homepage = "https://github.com/amphitheatre-app/amp-example-java"
repository = "https://github.com/amphitheatre-app/amp-example-java"
license = "Apache-2.0"
license-file = "LICENSE"
keywords = ["example", "java", "getting-started"]
categories = ["example"]

amp 命令将始终引用当前目录中的此文件(如果存在),特别是以开始的角色名称值。该 名称将用于标识 Amphitheatre 平台上的角色。文件的其余部分包含部署角色时要应用的设 置。

有关更多选项,请参阅 Paketo Java Buildpack 文档

部署到 Amphitheatre

要部署您的 Character,只需运行:

amp run

这将查找我们的 .amp.toml 文件,并从中获取 Character 名称 amp-example-java。 然后,amp 将开始部署我们的 Character 到 Amphitheatre 平台。完成后,amp 会 将您返回到命令行。

到达目的地

您已成功构建并部署了您的第一个 Java 应用程序到 Amphitheatre。