开始

本节介绍除了使用 Skipper 安装示例应用程序之外,还要在本地计算机上安装 Skipper 的最小步骤。 这就是“三秒游”。 完成此部分后,您可以继续进行三分钟游览。 当您准备好深入了解时,请前往“三小时游览”部分,使用 Skipper。 (嗯,这并不是真正的三个小时......

5. 系统要求

Skipper 服务器是一个 Spring Boot 应用程序。 服务器和 shell 都基于 Java 8。 服务器使用 RDBMS 来存储状态。 如果您不通过 Spring Boot 配置属性提供数据源配置,则使用嵌入式 H2 数据库。 支持的数据库包括 H2、HSQLDB、MySQL、Oracle、Postgresql、DB2 和 SqlServer。 模式在服务器启动时创建spring-doc.cadn.net.cn

6. 安装 Skipper

本节介绍如何在本地计算机上安装 Skipper,因为它是最简单的入门方法。 安装部分讨论了在 Cloud Foundry 和 Kubernetes 上安装。 它还显示了用于在本地计算机上安装的其他选项。spring-doc.cadn.net.cn

wget http://repo.spring.io/5/org/springframework/cloud/spring-cloud-skipper-server/2.11.5/spring-cloud-skipper-server-2.11.5.jar

wget http://repo.spring.io/5/org/springframework/cloud/spring-cloud-skipper-shell/2.11.5/spring-cloud-skipper-shell-2.11.5.jar
java -jar spring-cloud-skipper-server-2.11.5.jar

java -jar spring-cloud-skipper-shell-2.11.5.jar

服务器监听的默认端口是 7577。那是SKPR在电话键盘上。:)spring-doc.cadn.net.cn

还有一个托管在 dockerhub 上的 docker 镜像spring-doc.cadn.net.cn

现在安装一些应用程序!spring-doc.cadn.net.cn

7. 三秒游

Skipper 的默认配置将应用程序部署到本地计算机。 默认配置还有一个本地存储库,名为local,您可以在其中上传包。 您可以使用命令获取包存储库的列表repo list,如以下示例所示(及其输出):spring-doc.cadn.net.cn

skipper:>repo list
╔════════════╤═══════════════════════════════════════════════════════════╤═════╤═════╗
║    Name    │                            URL                            │Local│Order║
╠════════════╪═══════════════════════════════════════════════════════════╪═════╪═════╣
║local       │https://10.55.13.45:7577                                    │true │1    ║
╚════════════╧═══════════════════════════════════════════════════════════╧═════╧═════╝

使用package search或其别名package list命令。 以下示例显示了package search命令和它的典型输出:spring-doc.cadn.net.cn

skipper:>package search
╔═════════════════╤═══════╤════════════════════════════════════════════════════════════════════════════════╗
║      Name       │Version│                                  Description                                   ║
╠═════════════════╪═══════╪════════════════════════════════════════════════════════════════════════════════╣
║helloworld       │1.0.1  │The app has two endpoints, /about and /greeting in Portuguese.  Maven resource. ║
║helloworld       │1.0.0  │The app has two endpoints, /about and /greeting in English.  Maven resource.    ║
║helloworld-docker│1.0.1  │The app has two endpoints, /about and /greeting in Portuguese.  Docker resource.║
║helloworld-docker│1.0.0  │The app has two endpoints, /about and /greeting in English.  Docker resource.   ║
╚═════════════════╧═══════╧════════════════════════════════════════════════════════════════════════════════╝

使用package install命令。 由于此应用程序默认为 HTTP 服务器选择一个随机端口,因此我们指定了 Spring Boot 属性server.port,前缀为spec.applicationProperties. 前缀是由于模板文件的内部格式。 以下示例显示了整个命令及其输出:spring-doc.cadn.net.cn

skipper:>package install --release-name helloworld-local --package-name helloworld --package-version 1.0.0 --properties spec.applicationProperties.server.port=8099
Released helloworld-local. Now at version v1.

您现在可以卷曲greeting端点,如下所示:spring-doc.cadn.net.cn

$ curl http://localhost:8099/greeting
Hello World!

发布名称helloworld-local,用于后续命令,例如release status,release upgraderelease delete.spring-doc.cadn.net.cn

要查看版本的状态,请使用release status命令,如以下示例所示(及其输出):spring-doc.cadn.net.cn

skipper:>release status --release-name helloworld-local
╔═══════════════╤═════════════════════════════════════════════════════════════════════════════════════╗
║Last Deployed  │Fri Oct 27 16:17:53 IST 2017                                                         ║
║Status         │DEPLOYED                                                                             ║
║Platform Status│All applications have been successfully deployed.                                    ║
║               │[helloworld-local.helloworld-v1], State = [helloworld-local.helloworld-v1-0=deployed]║
╚═══════════════╧═════════════════════════════════════════════════════════════════════════════════════╝

现在我们可以升级版本。 这1.0.1package 指的是一个新发布的应用程序,它更改了问候语的默认值Portuguese. 以下示例显示了典型的release upgrade命令及其输出:spring-doc.cadn.net.cn

skipper:>release upgrade --release-name helloworld-local --package-name helloworld --package-version 1.0.1  --properties spec.applicationProperties.server.port=8100
helloworld-local has been upgraded.  Now at version v2.

前面的示例命令部署新版本的应用程序,等待它正常,然后销毁旧版本的应用程序。 然后,您可以使用release status命令,如下所示:spring-doc.cadn.net.cn

skipper:>release status --release-name helloworld-local
╔═══════════════╤═════════════════════════════════════════════════════════════════════════════════════╗
║Last Deployed  │Fri Oct 27 16:20:07 IST 2017                                                         ║
║Status         │DEPLOYED                                                                             ║
║Platform Status│All applications have been successfully deployed.                                    ║
║               │[helloworld-local.helloworld-v2], State = [helloworld-local.helloworld-v2-0=deployed]║
╚═══════════════╧═════════════════════════════════════════════════════════════════════════════════════╝

您现在可以卷曲greetingendpoint 并查看应用程序已更新,如下所示:spring-doc.cadn.net.cn

$ curl http://localhost:8100/greeting
Olá Mundo!

要删除版本,请使用delete命令,如以下示例所示(及其输出):spring-doc.cadn.net.cn

skipper:>release delete --release-name helloworld-local
helloworld-local has been deleted.
此示例中,升级仅更改了应用程序的属性,这是不现实的。 一个更现实的例子是代码已更改,因此更新后的应用程序的行为不同。

您还可以部署名为helloworld-docker到本地计算机。spring-doc.cadn.net.cn

本节中的示例显示了最基本的作。 其他有趣的命令,例如manifest get,release rollback,release listrelease history三分钟游览中涵盖。spring-doc.cadn.net.cn