Skip to content

项目部署:按 action 选择功能

这个请求地址通过 action 区分具体功能。下方列出每个 action 的参数、约束和调用示例。

POST
https://your-panel.example.com:8888/deployment
查看 Markdown

Request 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}
Navigation

Type to search…

↑↓ navigate↵ selectEsc close