news 2026/9/4 8:37:02

Openship REST API 速查指南:Projects、Deployments、Domains、Tokens 四大核心端点全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Openship REST API 速查指南:Projects、Deployments、Domains、Tokens 四大核心端点全解析

Openship REST API 速查指南:Projects、Deployments、Domains、Tokens 四大核心端点全解析

【免费下载链接】openshipSelf-hosted deployment platform项目地址: https://gitcode.com/GitHub_Trending/ope/openship

Openship 是一款开源的自托管部署平台(self-hosted deployment platform),能从 Git 仓库一键构建、部署应用,并自动处理域名路由与 TLS 证书。本文是一份Openship REST API 速查,面向新手与集成开发者,汇总 Projects(项目)、Deployments(部署)、Domains(域名)、Tokens(令牌)四大核心端点,帮你快速上手用 API 驱动整套部署流程 🔑

认证方式:用 Bearer Token 访问 API

所有/api/*端点都要求认证。推荐流程:先在 Web 控制台的 Settings 里创建一个PAT(个人访问令牌),然后在每个请求中携带:

  • 请求头:Authorization: Bearer <你的令牌>
  • 令牌的解析逻辑见 bearer.ts,它是所有 Bearer 认证的唯一入口

💡 提示:为 CI/CD 流水线单独创建一个作用域受限的 PAT,用完即撤销,比共用账号密码安全得多。

Projects 项目端点:创建、更新与查询

项目路由挂载在/api/projects(见 project.routes.ts),是 Openship REST API 中使用频率最高的一组端点。

方法路径用途
GET/api/projects列出组织内所有项目
POST/api/projects从 Git 仓库或本地源创建项目
GET/api/projects/:id获取项目详情(配置、源、路由、状态)
PATCH/api/projects/:id更新项目构建配置
DELETE/api/projects/:id删除项目(建议先看删除预览)
GET/api/projects/:id/deletion-preview只读预览删除会移除哪些资源
GET/api/projects/:id/environments列出环境(production / 预览)
POST/api/projects/:id/environments创建预览环境
GET/api/projects/:id/env查看环境变量(密钥值自动掩码)
PATCH/api/projects/:id/env合并式修改环境变量,未提及的变量保持不变
POST/api/projects/:id/enable启用项目,允许部署
POST/api/projects/:id/disable停用项目,暂停部署
GET/api/projects/:id/deployments列出该项目部署历史
GET/api/projects/:id/pending-actions查看阻塞项及每项的具体解决方式
GET/api/projects/:id/logs获取运行时日志(非流式)
POST/api/projects/:id/routing/retry重试免费域名的边缘路由同步

📌 新手最常踩的坑:改环境变量请用PATCH 合并(upserts + deletes),不要尝试全量覆盖,避免误清空密钥类变量。路由定义可参考 project.routes.ts。

Deployments 部署端点:触发构建、回滚与取消

部署路由挂载在/api/deployments(见 deployment.routes.ts),覆盖"触发 → 跟踪 → 决策 → 回滚"的完整生命周期。

方法路径用途
GET/api/deployments列出组织内部署,可用?projectId过滤
POST/api/deployments从已关联的 Git 源触发部署(推送即部署)
POST/api/deployments/build/access向导式部署入口,支持文件夹上传流程
GET/api/deployments/:id查看部署状态、URL、耗时与错误摘要
GET/api/deployments/:id/build实时构建进度:当前步骤、各服务状态
GET/api/deployments/:id/logs获取构建 / 运行日志
GET/api/deployments/:id/pending部署卡住时查看等待项及解锁调用
POST/api/deployments/:id/build/respond回答阻塞决策(如端口冲突:释放端口或中止)
POST/api/deployments/:id/redeploy重跑该项目最近一次部署
POST/api/deployments/:id/rollback回滚到指定部署的产物 / 提交
POST/api/deployments/:id/cancel取消进行中的部署
POST/api/deployments/:id/restart重启该部署正在运行的容器
DELETE/api/deployments/:id删除部署记录

🧠 排障心法:当部署"看起来卡住了",先轮询GET /:id/pending——它会直接告诉你阻塞原因(例如端口已被占用)以及具体该调用哪个端点来解除。更多操作端点可参考 deployment.routes.ts。

Domains 域名端点:DNS 验证与 SSL 续期

域名路由挂载在/api/domains(见 domain.routes.ts),支持免费子域与自定义域名的验证、DNS 自动配置和证书续期。

方法路径用途
GET/api/domains列出组织 / 项目的域名
POST/api/domains添加域名(免费子域或自定义域名)
POST/api/domains/preview添加前预览该域名所需的 DNS 记录
GET/api/domains/:id查看单个域名的验证与 SSL 状态
POST/api/domains/:id/verify验证域名所有权 / DNS
POST/api/domains/:id/primary将该域名设为主域名
GET/api/domains/:id/records获取需要配置的 DNS 记录
GET/api/domains/:id/dns/plan只读预览:通过已连接供应商自动配置会改什么
POST/api/domains/:id/dns/apply通过已连接 DNS 供应商自动写入记录
POST/api/domains/:id/renew续期该域名的 SSL 证书
POST/api/domains/:id/verify-ssl检查并验证 SSL 证书
POST/api/domains/renew-all批量续期全部证书
DELETE/api/domains/:id删除域名

🌐 推荐顺序:preview预览 DNS → 添加 →verify验证 →renew等证书签发。dns/plandns/apply先预览后落盘的两步式设计,永远不会静默修改你的 DNS。

Tokens 令牌端点:PAT 管理与 MCP 授权

令牌路由挂载在/api/tokens(见 token.routes.ts),每个操作都只作用于当前调用者自己的令牌,天然隔离。

方法路径用途
GET/api/tokens列出我的 PAT
POST/api/tokens创建 PAT(可指定作用域,如项目级读写)
DELETE/api/tokens/:id撤销(吊销)PAT
POST/api/tokens/mcp-authorize授权一个 MCP 客户端
GET/api/tokens/mcp-clients列出已连接的 MCP 客户端
DELETE/api/tokens/mcp-clients/:clientId断开 MCP 客户端

🔐 安全建议:给每个自动化场景(CI、脚本、MCP 工具)发一个独立令牌并设定最小作用域,出问题时精准吊销即可,不影响其他集成。端点细节见 token.routes.ts。

一条链完成部署:REST API 常见工作流

把上面四组端点串起来,就是一个完整的 API 驱动部署流水线 🚀:

  1. 创建/确认项目POST /api/projects(Git 源)→GET /api/projects/:id拿到id
  2. 触发部署POST /api/deployments/api/deployments/build/access,返回deployment_id
  3. 跟踪进度:轮询GET /api/deployments/:id/build;卡住就看GET /:id/pending并按resolveWith提示作答
  4. 接上域名POST /api/domainsPOST /:id/verify→ 等待证书就绪
  5. 兜底操作:出问题POST /:id/rollback秒级回滚,或POST /:id/cancel取消构建

一个最小的调用示例(其余请求同理,仅需替换方法与路径):

curl -H "Authorization: Bearer <你的令牌>" \ https://你的Openship地址/api/projects

掌握这份 Openship REST API 速查后,你就可以把自建部署平台完全纳入脚本、CI 与自动化体系,让"推送代码 → 上线"只需一条 API 调用 ⚡

【免费下载链接】openshipSelf-hosted deployment platform项目地址: https://gitcode.com/GitHub_Trending/ope/openship

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 22:57:20

Prometheus采集失败、无指标数据全场景排查手册

Prometheus采集失败、无指标数据全场景排查手册技术栈&#xff1a;Kubernetes v1.32.13 Rocky Linux 8.6 Prometheus Containerd 1.7.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案Prometheus采集失败、无指标数据全场景排查手册操作环境K8…

作者头像 李华
网站建设 2026/8/31 16:29:31

算力核心指标与集群调度实战:从TFLOPS到分布式训练

算力这个话题最近被反复推上热搜&#xff0c;从“两大实验室将掌控全球算力”这种宏观叙事&#xff0c;到“单颗AI算力卡FP16算力≥280TFLOPS”“≥8颗AI算力卡”这类偏硬件规格的讨论&#xff0c;都指向同一个问题&#xff1a;算力正在成为像电力一样的基础资源。但很多人对“…

作者头像 李华
网站建设 2026/9/2 3:59:41

从川西格聂南线实测看中国新能源车竞争力:智能驾驶与工程迭代

跑完川西格聂南线这趟路&#xff0c;我对“中国新能源车真正的竞争力”这个问题的答案&#xff0c;发生了一次比较彻底的重构。过去几年&#xff0c;我认可中国新能源车&#xff0c;主要用的还是“政策驱动、电动化换道超车、用车成本低”这套逻辑。但这次在高原、碎石路、多弯…

作者头像 李华
网站建设 2026/9/1 3:13:19

从诊断到修正:真实场景表格解析系统的落地指南

真实场景中的表格解析&#xff08;Table Parsing&#xff09;远比公开评测集展示出来的情况复杂&#xff1a;印刷清晰的 PDF 会计表、手机拍摄的收据附件、ESG 报告里的跨页合并单元格、以及带有页眉页脚干扰的网页表格&#xff0c;都会让同一套模型出现完全不同的表现。这也是…

作者头像 李华
网站建设 2026/9/2 1:59:46

所有权代码评审的借用边界

所有权代码评审的借用边界Rust 的借用检查能保证引用不会活得比数据更久&#xff0c;但它并不替评审者决定一个函数“应该借用还是应该拥有”。签名里的 &T、&mut T、T、Cow 或 Arc 都在表达调用关系。选错了&#xff0c;代码也许能编译&#xff0c;却会出现多余复制、…

作者头像 李华
网站建设 2026/9/2 9:25:52

容器运维代码评审该盯住哪些细节

容器运维代码评审该盯住哪些细节容器里的程序最终要面对的是调度、网络、资源限制和终止信号。一次业务功能改动&#xff0c;可能因为探针写法、连接关闭顺序或配置默认值&#xff0c;在滚动发布时放大成可用性问题。评审不能只读业务函数&#xff0c;还要沿着进程从启动到退出…

作者头像 李华