开始
5. 系统要求
Skipper 服务器是一个 Spring Boot 应用程序。 服务器和 shell 都基于 Java 8。 服务器使用 RDBMS 来存储状态。 如果您不通过 Spring Boot 配置属性提供数据源配置,则使用嵌入式 H2 数据库。 支持的数据库包括 H2、HSQLDB、MySQL、Oracle、Postgresql、DB2 和 SqlServer。 模式在服务器启动时创建
6. 安装 Skipper
本节介绍如何在本地计算机上安装 Skipper,因为它是最简单的入门方法。 安装部分讨论了在 Cloud Foundry 和 Kubernetes 上安装。 它还显示了用于在本地计算机上安装的其他选项。
-
在终端会话中使用以下命令下载 Skipper 服务器和 shell 应用:
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
-
在终端会话中使用以下命令启动下载的服务器和 shell 应用:
java -jar spring-cloud-skipper-server-2.11.5.jar
java -jar spring-cloud-skipper-shell-2.11.5.jar
服务器监听的默认端口是 7577。那是SKPR
在电话键盘上。:)
还有一个托管在 dockerhub 上的 docker 镜像
现在安装一些应用程序!
7. 三秒游
Skipper 的默认配置将应用程序部署到本地计算机。
默认配置还有一个本地存储库,名为local
,您可以在其中上传包。
您可以使用命令获取包存储库的列表repo list
,如以下示例所示(及其输出):
skipper:>repo list
╔════════════╤═══════════════════════════════════════════════════════════╤═════╤═════╗
║ Name │ URL │Local│Order║
╠════════════╪═══════════════════════════════════════════════════════════╪═════╪═════╣
║local │https://10.55.13.45:7577 │true │1 ║
╚════════════╧═══════════════════════════════════════════════════════════╧═════╧═════╝
使用package search
或其别名package list
命令。
以下示例显示了package search
命令和它的典型输出:
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
.
前缀是由于模板文件的内部格式。
以下示例显示了整个命令及其输出:
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
端点,如下所示:
$ curl http://localhost:8099/greeting Hello World!
发布名称helloworld-local
,用于后续命令,例如release status
,release upgrade
或release delete
.
要查看版本的状态,请使用release status
命令,如以下示例所示(及其输出):
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
package 指的是一个新发布的应用程序,它更改了问候语的默认值Portuguese
.
以下示例显示了典型的release upgrade
命令及其输出:
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
命令,如下所示:
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]║
╚═══════════════╧═════════════════════════════════════════════════════════════════════════════════════╝
您现在可以卷曲greeting
endpoint 并查看应用程序已更新,如下所示:
$ curl http://localhost:8100/greeting Olá Mundo!
要删除版本,请使用delete
命令,如以下示例所示(及其输出):
skipper:>release delete --release-name helloworld-local
helloworld-local has been deleted.
此示例中,升级仅更改了应用程序的属性,这是不现实的。 一个更现实的例子是代码已更改,因此更新后的应用程序的行为不同。 |
您还可以部署名为helloworld-docker
到本地计算机。
本节中的示例显示了最基本的作。
其他有趣的命令,例如manifest get
,release rollback
,release list
和release history
在三分钟游览中涵盖。