将 BlockLang Installer 与 https://blocklang.com 中的一个项目绑定, 即交由 BlockLang Installer 来自动管理项目的部署。
POST /installers
在注册时,需要登记服务器信息。
Parameters
| Name | Type | Description |
|---|---|---|
registrationToken |
string |
Required. Block Lang 平台为每个项目生成唯一的注册 token。 |
ip |
string |
服务器的 IP 地址。 |
port |
int |
服务器上运行响应 Block Lang 服务的端口(未实现)。 |
appRunPort |
int |
Spring Boot jar 在服务器上的运行端口。 |
osType |
string |
服务器操作系统的具体类型,如 Windows、Ubuntu。 |
osVersion |
string |
服务器操作系统版本号。 |
targetOs |
string |
服务器操作系统类型,如 Windows、Linux、Macos、Solaris。 |
arch |
string |
CPU 架构。 |
serverToken |
string |
Required. 用于唯一标识服务器,使用服务器的 MAC 地址。 |
说明:有了更具体的 osType,为什么还要添加 target_os?这样做是为了减少转换,直接根据 target_os 获取 APP 发行版文件。
Response
输入参数校验
Status: 422 Unprocessable Entity
只有以下校验规则通过后,才能开始注册:
- 所有输入参数的值不能为空;
- 根据注册 token 没有获取到 APP 基本信息
- APP 的发行版基本信息不存在
- APP 发行版文件信息不存在
- JDK 发行版信息不存在
- JDK 的基本信息不存在
- JDK 的发行版文件信息不存在
注册成功
Status: 201 CREATED
| Name | Type | Description |
|---|---|---|
installerToken |
string |
Block Lang 平台为每个 installer 生成的 token。 |
appName |
string |
要部署的 Spring Boot jar 的完整名称,由 Block Lang 平台中的用户名和项目名组成,格式为 @userName/projectName。 |
appVersion |
string |
要部署的 Spring Boot jar 的版本号。 |
appFileName |
string |
要部署的 Spring Boot jar 的完整文件名,与发布中心的名字保持一致。 |
appRunPort |
int |
Spring Boot jar 在服务器上的运行端口。 |
jdkName |
string |
JDK 在 Block Lang 平台登记的名称。 |
jdkVersion |
string |
JDK 的完整版本号。 |
jdkFileName |
string |
JDK 的完整文件名,在服务器上 JDK 以此命名。 |
更新服务器信息并获取最新版本软件信息。
注意,因为在 installer_config.toml 中只存储了 installer_token,并没有存储 registration_token,所以获取更新信息时使用的是 installer_token。
PUT /installers
Parameters
| Name | Type | Description |
|---|---|---|
installerToken |
string |
Required. Block Lang 平台为每个 installer 生成的 token。 |
ip |
string |
服务器的 IP 地址。 |
port |
int |
服务器上运行响应 Block Lang 服务的端口。 |
osType |
string |
服务器操作系统类型,如 Windows、Ubuntu。 |
osVersion |
string |
服务器操作系统版本号。 |
targetOs |
string |
服务器操作系统类型,如 Windows、Linux、Macos、Solaris。 |
arch |
string |
CPU 架构。 |
serverToken |
string |
Required. 用于唯一标识服务器,使用服务器的 MAC 地址。 |
Response
输入参数校验
Status: 422 Unprocessable Entity
只有以下校验规则通过后,才能开始注册:
- 所有输入参数的值不能为空;
- 根据安装器 token 没有获取到安装器基本信息
- 确认 Block Lang 平台的 Server Token 与参数中的 Server Token 一致
- APP 的发行版基本信息不存在
- APP 基本信息不存在
- APP 最新发行版信息不存在
- APP 最新发行版文件信息不存在
- JDK 发行版信息不存在
- JDK 的基本信息不存在
- JDK 的发行版文件信息不存在
获取升级信息成功
Status: 200 OK
| Name | Type | Description |
|---|---|---|
installerToken |
string |
Block Lang 平台为每个 installer 生成的 token。 |
appName |
string |
要部署的 Spring Boot jar 的完整名称,由 Block Lang 平台中的用户名和项目名组成,格式为 @userName/projectName。 |
appVersion |
string |
要部署的 Spring Boot jar 的版本号。 |
appFileName |
string |
要部署的 Spring Boot jar 的完整文件名,与发布中心的名字保持一致。 |
appRunPort |
int |
Spring Boot jar 在服务器上的运行端口。 |
jdkName |
string |
JDK 在 Block Lang 平台登记的名称。 |
jdkVersion |
string |
JDK 的完整版本号。 |
jdkFileName |
string |
JDK 的完整文件名,在服务器上 JDK 以此命名。 |
DELETE /installers/{installerToken}
Parameters
| Name | Type | Description |
|---|---|---|
installerToken |
string |
Required. Block Lang 平台为每个 installer 生成的 token。 |
Response
要注销的安装器不存在
Status: 404 NOT FOUND
注销成功
Status: 204 NO CONTENT
| Name | Description |
|---|---|
url |
Block Lang 软件发布中心的 URL,如 https://blocklang.com。 |
installer_token |
为每一个 installer 生成的唯一 token。 |
server_token |
用于唯一标识服务器,使用服务器的 MAC 地址。 |
app_name |
要部署的 Spring Boot jar 的完整名称,由 Block Lang 平台中的用户名和项目名组成,格式为 @userName/projectName。 |
app_version |
要部署的 Spring Boot jar 的版本号。 |
app_file_name |
要部署的 Spring Boot jar 的完整文件名,与发布中心的名字保持一致。 |
app_run_port |
Spring Boot jar 在服务器上的运行端口。 |
jdk_name |
JDK 在 Block Lang 平台登记的名称。 |
jdk_version |
JDK 的完整版本号。 |
jdk_file_name |
JDK 的完整文件名,在服务器上 JDK 以此命名。 |