ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Budibase 开源低代码平台实战指南:数据源集成、自动化工作流与自托管部署全解析

Budibase 开源低代码平台实战指南:数据源集成、自动化工作流与自托管部署全解析 Budibase 开源低代码平台实战指南数据源集成、自动化工作流与自托管部署全解析【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibaseBudibase 是一款开源的 low-code低代码平台核心目标是帮助团队快速构建提升生产力的内部工具。本文以仓库内法语版项目介绍 i18n/README.fr.md 为主线骨架结合packages/server、packages/client、packages/builder等模块的真实源码系统讲解 Budibase 的四大能力支柱——多数据源接入、组件化界面构建、自动化与 Webhook、以及可自托管的运维体系并给出仓库层面的实现佐证与部署路径。读完本文你将理解 Budibase 的架构分层、数据源插件机制、自动化引擎的工作方式以及如何基于 Docker、Kubernetes 或 Digital Ocean 将它部署到自己的基础设施上。Budibase 是什么一个构建并部署真正软件的低代码平台按 i18n/README.fr.md 的描述Budibase 是开源、可扩展的低代码平台也是创建能提升生产力的内部工具的最简单方式。与部分只能在平台内部运行的表单类工具不同Budibase 强调构建并部署真正的单页应用one-page application应用性能高、可响应式设计最终以标准 Web 应用的形式交付给用户。这一点从仓库的包结构可以得到印证packages/builder 是构建器builder的客户端 Svelte 应用开发者在此通过可视化方式设计应用packages/client 是一个运行在浏览器中的模块负责读取 JSON 定义并据此生成鲜活的 Web 应用对应 docs/CONTRIBUTING.md 的说明即你设计好的应用最终以一份 JSON 应用定义存在由 client 运行时渲染。这种设计产物 JSON 定义 浏览器运行时渲染的架构是 Budibase 区别于传统代码生成工具的关键应用定义可版本化、可导出渲染逻辑与定义数据分离。数据接入导入数据或从零开始Budibase 可以从多种外部数据源拉取数据也可以完全不接任何数据源从零开始创建业务应用。据 i18n/README.fr.md官方列出的数据源包括MongoDBCouchDBPostgreSQLMySQLAirtableS3DynamoDBREST API仓库中的 packages/server/src/integrations/index.ts 正是这一能力清单的实现证据文件中的DEFINITIONS注册表将数据源名称映射到各自的 schemaINTEGRATIONS注册表则映射到对应的集成实现类。除了上面列出的数据源实现还覆盖 Elasticsearch、SQL Server、FirebaseFirestore、Google Sheets、Redis、Snowflake、Oracle以及已弃用、不再通过 UI 展示的 ArangoDB 与 AirtableAirtable 保留实现但标记为 deprecated。在 packages/server/src/integrations/index.ts 的getDefinitions()中还可以看到数据源的可扩展机制当env.SELF_HOSTED为真时服务端会通过sdk.plugins.fetch(PluginType.DATASOURCE)拉取自定义数据源插件将第三方插件 schema 与内置定义合并后统一返回。也就是说自托管环境下你可以编写并安装自己的数据源插件从而把任意数据源接入 Budibase。实践要点接入一个内置数据源只需在 builder 中新增数据源并填写连接配置若内置列表无法满足需求可参考getIntegration的动态加载逻辑packages/server/src/integrations/index.ts开发自定义插件。组件化界面构建用预定义组件拼装 UIBudibase 内置一批精心设计的、开箱即用的组件开发者可以像搭积木一样组装用户界面同时平台暴露了大量常用的 CSS 样式选项支持更高自由度的视觉定制。组件体系的仓库证据非常直观packages/bbui/src 是 Budibase 的组件库BBUI包含Button、Form、Table、Modal、Drawer、Notification、Tooltip、TreeView等几十类组件packages/client/src/components 是 client 运行时渲染应用所用的组件集合与 builder 中可选组件一一对应。从 packages/client/package.json 的依赖可以看到运行时组件生态的覆盖面图表apexcharts、地图leaflet、二维码html5-qrcode、条码jsbarcode、PDF 导出html2pdf.js、屏幕全屏screenfull等能力均已内置。这意味着你不仅能用表单、表格搭建 CRUD 界面还能在应用中直接嵌入图表、地图、二维码扫描等高级交互组件。自动化连接 Webhook、自动处理业务流程Budibase 的另一大能力是自动化把手动流程与工作流自动化无论是连接 Webhook 还是自动发送邮件只需配置触发器 → 动作即可让平台代为执行从而节省大量重复劳动。仓库中的 packages/server/src/automations 目录就是自动化引擎的核心实现其结构清晰地反映了设计模型triggers.ts定义自动化流程的触发条件如 Webhook 触发、应用事件触发等steps编排中的每一个执行步骤actions.ts步骤对应的具体动作实现email邮件类自动化动作index.ts自动化的注册与调度入口。这种触发器Trigger— 步骤Step— 动作Action的三层模型让自动化具备很强的组合性一个流程可以由多个步骤串联每个步骤调用不同动作发邮件、写数据库、调用外部 API并可通过 Webhook 被外部系统拉起。此外仓库 i18n/README.fr.md 提到可通过社区提供的自动化模块扩展新的自动化类型进一步印证了自动化的可插拔设计。集成与管理员天堂自托管与全局管理与常用工具集成Budibase 可以集成一批流行的第三方工具让构建出的应用无缝融入现有技术栈。集成实现集中在 packages/server/src/integrations 下每个文件对应一种数据源/服务的连接与查询实现如 postgres.ts、mongodb.ts、rest.ts、googlesheets.ts 等。面向管理员的全局运维能力i18n/README.fr.md 将 Budibase 描述为管理员的天堂Paradis des admins平台设计为可弹性扩展支持自托管到自己的基础设施并允许全局管理用户、登录欢迎页、SMTP、应用、用户组、主题外观等还可以为用户/组提供应用门户并把用户管理权限下放给组负责人。这些管理能力在仓库中有明确落点packages/worker 是负责全局管理 API 的 Koa 应用按 docs/CONTRIBUTING.md 的说明认证、用户、邮件、组织与认证配置等都由 worker 提供hosting 目录承载了整套自托管部署资产docker-compose.yaml、单镜像构建hosting/single/Dockerfile、Digital Ocean 模板hosting/digitalocean/template.json、Portainer 模板、LetsEncrypt 证书脚本、Redis TLS 与 CouchDB 定制镜像等charts/budibase 是 Helm Chart包含 app-service、worker-service、proxy-service、minio、redis、couchdb 等子组件的 Deployment/Service/HPA 模板是 Kubernetes 部署的入口。快速开始四种部署路径按 i18n/README.fr.md 的指引Budibase 支持两种使用模式自托管部署到你自己现有的基础设施官方支持的途径包括 Docker、Kubernetes 与 Digital Ocean托管云Budibase Cloud不需要自托管、希望快速上手时使用官方云端服务。仓库内对应的自托管资源如下供实际部署时参考部署方式仓库入口说明Docker单镜像hosting/single/Dockerfile单镜像方式便于在单台机器/ARM 环境快速起服务Docker Composehosting/docker-compose.yaml多服务编排覆盖 server、worker、代理、存储等组件Kubernetescharts/budibase/Chart.yamlHelm Chart 全家桶含 HPA、PDB、Ingress、Secrets 模板Digital Oceanhosting/digitalocean/template.json一键镜像模板需要说明的是托管云模式由官方提供服务仓库内无法直接运行自托管模式则完全依赖上述开源资产。选择部署方式时可从单机评估Docker 单镜像到生产集群K8s渐进式推进。仓库架构Lerna 管理的 MonorepoBudibase 是一个由Lerna管理的 monorepo这一点在 i18n/README.fr.md 的贡献章节有明确说明且与仓库配置完全一致lerna.json 使用independent版本模式、以 yarn 为 npm client而根目录 package.json 通过workspaces.packages: [packages/*]声明了全部工作区。README 法语版给出了三个核心包的高层职责packages/builderbuilder 客户端 Svelte 应用可视化设计器packages/client运行在浏览器中、读取 JSON 应用定义并渲染出 Web 应用的模块packages/serverKoa 应用负责为 builder 和 Budibase 应用提供 JS 资源并提供与数据库、文件系统交互的 API。以当前仓库为准实际包生态比 README 列出的三个更丰富还包括packages/worker全局管理 API认证、用户、邮件、组织、packages/backend-core后端公共核心库含多租户、对象存储、队列、Redis 封装等、packages/bbui组件库、packages/frontend-core前端公共库、packages/pro付费功能、packages/types类型定义、packages/string-templates模板字符串引擎、packages/shared-core前后端共享逻辑等。根目录 package.json 还提供了完整的开发命令yarn setup、yarn dev、yarn build、yarn test、yarn lint等其中yarn dev会先执行dev:init并并行拉起各包开发服务。开源许可模型GPL v3 MPL 的组合i18n/README.fr.md 明确了许可策略Budibase 整体采用GPL v3开源许可客户端与组件库采用 MPLMozilla Public License 2.0目的是让你基于 Budibase 构建的应用可以按你自己的意愿选择许可方式而不被 GPL 传染。仓库证据packages/builder/package.json 声明license: GPL-3.0packages/client/package.json 声明license: MPL-2.0根目录 README.md 进一步补充Budibase 的付费功能采用 Business Source LicenseBSL其条款见 packages/pro/license.md。参与贡献从报 Bug 到提交 PRi18n/README.fr.md 的贡献章节强调贡献不限于提交 PR报告 Bug、提出功能请求同样有价值若计划实现新功能或改动 API建议先创建 Issue 以确认方向。仓库内的贡献规范详见 docs/CONTRIBUTING.md含 Vouch 机制、外部 PR 必须关联有效 Issue 的检查、CLA 签署流程等社区行为准则见 docs/CODE_OF_CONDUCT.md。对于从零开始的贡献者docs/CONTRIBUTING.md 的Not Sure Where to Start?章节给出了各包职责与 monorepo 构建方式是理解代码入口的推荐起点。总结围绕 i18n/README.fr.md 这份项目介绍本文梳理了 Budibase 的核心技术脉络以 builder client 构成可视化设计 JSON 定义渲染的低代码闭环以 server 的 integration 注册表支撑多数据源接入与插件扩展以 automations 的触发器/步骤/动作模型承载流程自动化与 Webhook以 worker hosting Helm Chart 构成可自托管的全局管理运维体系并通过 GPL v3 与 MPL 的组合许可让平台本身开源、而用户构建的应用许可自由。无论你是想快速评估低代码平台、深入理解其数据源与自动化实现还是计划将其部署到自有基础设施都可以从本文给出的源码入口继续深挖。【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表