开始
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 ║
╚════════════╧═══════════════════════════════════════════════════════════╧═════╧═════╝
使用 或其 alias 命令搜索可用的包。
以下示例显示了该命令及其典型输出: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. ║
╚═════════════════╧═══════╧════════════════════════════════════════════════════════════════════════════════╝
使用命令安装基于 Maven 的 Hello World 应用程序。
由于此应用程序默认为 HTTP 服务器选择一个随机端口,因此我们指定 Spring Boot 属性 ,前缀为 。
前缀是由于模板文件的内部格式。
以下示例显示了整个命令及其输出:package install
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]║
╚═══════════════╧═════════════════════════════════════════════════════════════════════════════════════╝
现在我们可以升级版本。
该包引用一个新发布的应用程序,该应用程序将问候语的默认值更改为 in 。
以下示例显示了一个典型的命令及其输出:1.0.1
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
$ 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