项目部署:按 action 选择功能
这个请求地址通过 action 区分具体功能。下方列出每个 action 的参数、约束和调用示例。
POST
https://your-panel.example.com:8888/deploymentRequest bodyX-WWW-FORM-URLENCODEDrequired
One of the following:
- AddPackage
- DelPackage
- GetInLog
- GetList
- GetPackageOther
- GetSiteList
- GetSpeed
- SetupPackage
- check_project_env
Returns
default
响应因 action 而异,见下方各 action 的详细说明。
各操作详细说明
AddPackageaction=AddPackage添加自定义的一键部署软件包
添加自定义的一键部署软件包,支持 PHP 和 Java 两种项目类型。
- 路由:
POST /deployment - action:
AddPackage
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 AddPackage |
| name | 是 | String | 软件包英文名称(唯一) |
| title | 是 | String | 软件包显示标题 |
| version | 是 | String | 版本号 |
| project_type | 否 | String | 项目类型:php(默认) / java |
PHP 项目额外参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| php | 是 | String | PHP 版本,如 74 |
| enable_functions | 是 | String | 需要解禁的 PHP 函数 |
Java 项目额外参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| java_version | 是 | String | JDK 版本 |
| mysql_version | 是 | String | MySQL 版本 |
注意:此接口在部分版本有 HTTP 500 服务端错误。
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 添加成功 |
示例
{"status": true, "msg": "添加成功"}
DelPackageaction=DelPackage删除已部署的项目
删除通过一键部署安装的项目。
- 路由:
POST /deployment - action:
DelPackage
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 DelPackage |
| dname | 是 | String | 部署名称 |
| site_name | 是 | String | 网站名称 |
示例
{"status": true, "msg": "删除成功!"}
GetInLogaction=GetInLog获取一键部署任务的执行日志
获取一键部署任务的最新执行日志。
- 路由:
POST /deployment - action:
GetInLog
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true |
| msg | String | 日志内容(可能为空) |
示例
{"status": true, "msg": ""}
GetListaction=GetList获取一键部署的软件包列表
获取面板"一键部署"中所有可用的软件包列表(WordPress、ThinkPHP、可道云等)。
- 路由:
POST /deployment - action:
GetList
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| list | Array<Object> | 软件包列表,每项含 id、name、title、version、author、price 等 |
示例
{"list": [{"id": 11, "name": "kodbox", "title": "可道云KODBOX", "version": "v1.62", "author": "kodcloud", "price": 0}]}
GetPackageOtheraction=GetPackageOther获取自定义添加的软件包详情
获取通过 AddPackage 自定义添加的软件包详细信息。
- 路由:
POST /deployment - action:
GetPackageOther
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 GetPackageOther |
| p_name | 是 | String | 软件包英文名称 |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Object | 软件包详情(name、title、version、php 等),未找到时返回错误 |
示例
{"name": "api_test_pkg", "title": "API测试包", "version": "1.0.0", "php": "74"}
GetSiteListaction=GetSiteList获取可用于部署的网站列表及支持的框架
获取面板中可用于一键部署的网站和框架列表。
- 路由:
POST /deployment - action:
GetSiteList
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| list | Array<Object> | 框架/网站列表,每项含 id、name、title、version 等 |
示例
{"list": [{"id": 11, "name": "ThinkPHP-5.0", "title": "ThinkPHP-5.0", "version": "5.0.24"}]}
GetSpeedaction=GetSpeed获取一键部署任务的执行进度
获取当前正在执行的一键部署任务的进度信息。
- 路由:
POST /deployment - action:
GetSpeed
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Object | 部署进度信息,无任务时 null |
示例
null
SetupPackageaction=SetupPackage将一键部署包安装到指定网站
将选中的一键部署软件包(内置或自定义)安装到指定网站。
- 路由:
POST /deployment - action:
SetupPackage
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 SetupPackage |
| dname | 是 | String | 软件包名称(通过 GetList 获取,如 ThinkPHP-5.0、discuz-X3.4) |
| site_name | 是 | String | 目标网站域名 |
| project_type | 否 | String | 项目类型,默认 php;Java 项目需传 java |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 部署成功 |
| msg.admin_username | String | 管理员用户名(如有) |
| msg.admin_password | String | 管理员密码(如有) |
| msg.success_url | String | 部署完成后的访问路径 |
示例
部署 PHP 框架(ThinkPHP)
POST /deployment HTTP/1.1
Host: 192.168.168.213:8888
Content-Type: application/x-www-form-urlencoded
action=SetupPackage&dname=ThinkPHP-5.0&site_name=testapi.bt.local
{"status": true, "msg": {"admin_username": "", "admin_password": "", "success_url": "/index.php"}}
框架类包部署后直接可访问,
success_url指向入口文件。
部署 CMS(Discuz)
action=SetupPackage&dname=discuz-X3.4&site_name=testapi.bt.local
{"status": true, "msg": {"admin_username": "", "admin_password": "", "success_url": ""}}
CMS 类包
success_url为空,需访问网站域名进入 Web 安装向导完成数据库配置。
check_project_envaction=check_project_env检查服务器环境是否满足项目部署要求
检查当前服务器环境是否满足项目部署的基本要求(MySQL、Nginx、Redis 等)。
- 路由:
POST /deployment - action:
check_project_env
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| mysql_version | String | MySQL 版本 |
| mysql | Boolean | MySQL 是否可用 |
| nginx | Boolean | Nginx 是否可用 |
| redis | Boolean | Redis 是否可用 |
| ftp | Boolean | FTP 是否可用 |
示例
{"mysql_version": "5.7.44", "mysql": true, "nginx": true, "redis": false, "ftp": false}