开始
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
endpoint,如下所示:
$ 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
包含在 Three minute Tour 中。