快速开始
5.系统要求
跳过器服务器是Spring Boot应用程序。<br/>服务器和shell都基于Java 8。<br/>服务器使用RDBMS存储状态。<br/>如果您不通过Spring Boot配置属性提供DataSource配置,将使用嵌入式H2数据库。<br/>支持的数据库是H2、HSQLDB、MySQL、Oracle、Postgresql、DB2和SqlServer。<br/>在服务器启动时创建架构
6. 安装 Skipper
本节介绍了在本地计算机上安装Skipper,这是开始使用的最简单方法。安装部分讨论了在Cloud Foundry和Kubernetes上的安装。它还展示了在本地计算机上安装的其他选项。
-
通过在终端会话中使用以下命令下载跳过服务器和外壳应用:
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。这在电话键盘上是0 :)
还在 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命令安装基于Maven的Hello World应用程序。由于此应用程序默认为HTTP服务器选择随机端口,因此我们指定Spring Boot属性server.port,该属性以spec.applicationProperties开头。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.
现在,您可以使用 curl 命令调用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 包表示一个新发布的应用程序,它改变了问候语的默认值为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]║
╚═══════════════╧═════════════════════════════════════════════════════════════════════════════════════╝
现在,您可以使用 curl 命令调用新端口上的 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在三分钟导览中有介绍。