快速开始

本部分描述了在本地机器上以最小步骤安装 Skipper,并使用 Skipper 来安装示例应用程序的步骤。这是“三秒之旅”。完成本部分后,您可以继续前往 三分钟之旅。当您准备更深入地了解时,可以前往“三小时之旅”部分,使用 Skipper。(实际上它并不需要三个小时。)

5.系统要求

跳过器服务器是Spring Boot应用程序。<br/>服务器和shell都基于Java 8。<br/>服务器使用RDBMS存储状态。<br/>如果您不通过Spring Boot配置属性提供DataSource配置,将使用嵌入式H2数据库。<br/>支持的数据库是H2、HSQLDB、MySQL、Oracle、Postgresql、DB2和SqlServer。<br/>在服务器启动时创建架构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。这在电话键盘上是0 :) 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命令安装基于Maven的Hello World应用程序。由于此应用程序默认为HTTP服务器选择随机端口,因此我们指定Spring Boot属性server.port,该属性以spec.applicationProperties开头。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.

现在,您可以使用 curl 命令调用greeting端点,如下所示:spring-doc.cadn.net.cn

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

发布名称,helloworld-local,用于后续命令,例如release statusrelease upgraderelease deletespring-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.1 包表示一个新发布的应用程序,它改变了问候语的默认值为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]║
╚═══════════════╧═════════════════════════════════════════════════════════════════════════════════════╝

现在,您可以使用 curl 命令调用新端口上的 greeting 端点,并查看应用程序已更新,如下所示: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 getrelease rollbackrelease listrelease history三分钟导览中有介绍。spring-doc.cadn.net.cn