行多個(gè)測(cè)試服務(wù)器:Euro-Office DocumentServer開(kāi)發(fā)者的效率利器)
【免費(fèi)下載鏈接】DocumentServer項(xiàng)目地址https://gitcode.com/gh_mirrors/doc/DocumentServer點(diǎn)擊查看免費(fèi)下載eo.sh 是 Euro-Office DocumentServer 倉(cāng)庫(kù)中自帶的一個(gè)命令行工具位于 develop/eo.sh。它只用一條命令就能并行運(yùn)行多個(gè)相互隔離的文檔測(cè)試服務(wù)器每個(gè)實(shí)例都是獨(dú)立的完整容器互不干擾。對(duì)于需要同時(shí)驗(yàn)證多個(gè)分支或修改的開(kāi)發(fā)者來(lái)說(shuō)這是一把真正的效率利器。一個(gè)痛點(diǎn)單臺(tái)測(cè)試服務(wù)器不夠用在驗(yàn)證代碼修改時(shí)傳統(tǒng)流程只能啟動(dòng)一套測(cè)試環(huán)境。本倉(cāng)庫(kù)的 develop/Makefile 配合 develop/docker-compose.yml 提供的是單實(shí)例的 Nextcloud 集成棧適合交互式、集成式的調(diào)試。但當(dāng)你遇到下面的場(chǎng)景時(shí)單一服務(wù)器就顯得捉襟見(jiàn)肘想同時(shí)驗(yàn)證兩個(gè)分支的修改卻只能反復(fù)停啟、來(lái)回切換想讓AI 編碼代理自動(dòng)為每個(gè)分支起一臺(tái)服務(wù)器跑構(gòu)建、驗(yàn)證改動(dòng)想對(duì)比同一份代碼的不同構(gòu)建配置的產(chǎn)出eo.sh正是為此而生它允許你并行拉起多個(gè)一次性throwaway文檔服務(wù)器每個(gè)實(shí)例自帶獨(dú)立的 Postgres、Redis、RabbitMQ、Nginx 和 supervisord沒(méi)有共享狀態(tài)也無(wú)需完整構(gòu)建。60秒上手一條命令啟動(dòng)隔離測(cè)試服務(wù)器前提很簡(jiǎn)單Docker 已安裝且你在 DocumentServer 的 git 檢出目錄內(nèi)。然后./eo.sh up alpha腳本會(huì)自動(dòng)完成以下事情基于預(yù)構(gòu)建的多架構(gòu)開(kāi)發(fā)鏡像:latest-dev創(chuàng)建容器eo-alpha未指定端口時(shí)自動(dòng)分配空閑主機(jī)端口也可寫(xiě)成./eo.sh up beta 9000固定端口持續(xù)輪詢(xún)/healthcheck健康檢查直到服務(wù)器就緒打印出可訪問(wèn)的 URL包括內(nèi)置示例應(yīng)用和新建文檔的直達(dá)鏈接啟動(dòng)完成后通過(guò)瀏覽器打開(kāi)示例編輯器/example/路徑用Create new → Document即可創(chuàng)建 docx/xlsx/pptx/pdf 各類(lèi)文檔進(jìn)行驗(yàn)證。完整的命令說(shuō)明見(jiàn) eo.sh 的 usage 段落。命令速查表并行實(shí)例的日常管理命令作用典型用途./eo.sh up [--force] 名稱(chēng) [端口]啟動(dòng)一個(gè)隔離實(shí)例等待健康檢查通過(guò)為某個(gè)分支快速起一臺(tái)服務(wù)器./eo.sh build 名稱(chēng) 目標(biāo)在容器內(nèi)執(zhí)行 make 構(gòu)建目標(biāo)重建本地改動(dòng)./eo.sh exec 名稱(chēng) [命令…]進(jìn)入容器執(zhí)行命令默認(rèn) bash手動(dòng)排查、運(yùn)行腳本./eo.sh logs 名稱(chēng)實(shí)時(shí)跟蹤容器日志定位啟動(dòng)失敗原因./eo.sh ls列出所有實(shí)例、狀態(tài)、端口、掛載目錄多實(shí)例并存時(shí)的一覽視圖./eo.sh down 名稱(chēng)… \| --all停止并移除實(shí)例驗(yàn)證完畢立即清理 小技巧./eo.sh ls會(huì)顯示每個(gè)實(shí)例的主機(jī)端口和掛載路徑并行跑三五個(gè)實(shí)例時(shí)也不會(huì)搞混哪臺(tái)是哪臺(tái)。容器內(nèi)構(gòu)建本地代碼實(shí)時(shí)生效每個(gè)實(shí)例都會(huì)把當(dāng)前 git 工作樹(shù)掛載到容器內(nèi)的/develop目錄容器內(nèi)的 make 目標(biāo)直接重建你的本地改動(dòng)產(chǎn)物立即部署、必要時(shí)自動(dòng)重啟組件。常用的構(gòu)建目標(biāo)包括web-apps-dev前端快速重建跳過(guò) npm ci 和 imagemin速度最快sdkjs構(gòu)建編輯器核心 SDKserver/docservice重建文檔服務(wù)進(jìn)程core/x2t、core/docbuilder核心轉(zhuǎn)換與構(gòu)建組件./eo.sh build alpha web-apps-dev構(gòu)建完成后刷新瀏覽器即可看到改動(dòng)。更多構(gòu)建目標(biāo)的完整清單見(jiàn) develop/README.md 的 Development Builds 章節(jié)。4 個(gè)讓效率翻倍的實(shí)用提示每個(gè)構(gòu)建實(shí)例配一個(gè)獨(dú)立的 git worktree多個(gè)實(shí)例如果掛載同一份工作樹(shù)并行構(gòu)建會(huì)互相踩踏node_modules。正確做法是為每個(gè)分支建一個(gè) worktree并在各自的 worktree 里執(zhí)行./eo.sh up——這也是 AI 編碼代理一個(gè)分支一臺(tái)服務(wù)器的標(biāo)準(zhǔn)玩法。JWT 密鑰默認(rèn)共享文檔開(kāi)箱即開(kāi)實(shí)例默認(rèn)啟用 JWT 并使用統(tǒng)一的開(kāi)發(fā)密鑰可通過(guò)環(huán)境變量EO_JWT_SECRET覆蓋這正是內(nèi)置示例應(yīng)用能直接打開(kāi)文檔的原因。若你要直接調(diào)用 API 簽發(fā)請(qǐng)求使用同一密鑰即可。用 EO_IMAGE 切換鏡像但必須是 -dev 鏡像生產(chǎn)版:latest鏡像不含構(gòu)建工具鏈EO_IMAGE必須指向帶-dev后綴的鏡像否則容器內(nèi)構(gòu)建會(huì)失敗。這些是本地測(cè)試服務(wù)器切勿暴露到公網(wǎng)出于便捷考慮實(shí)例默認(rèn)開(kāi)啟了示例應(yīng)用與 WOPI 等開(kāi)發(fā)特性?xún)H適合本地驗(yàn)證。和單實(shí)例工作流如何分工場(chǎng)景推薦方式交互式調(diào)試、Nextcloud 集成測(cè)試、移動(dòng)端/局域網(wǎng)設(shè)備測(cè)試make local/make mobile單棧工作流同時(shí)驗(yàn)證多個(gè)分支、多實(shí)例并行構(gòu)建、代理自動(dòng)化驗(yàn)證./eo.sh多實(shí)例并行兩種工作流共用同一個(gè):latest-dev預(yù)構(gòu)建鏡像可以隨意組合使用。延伸閱讀工具本體eo.sh完整的并行測(cè)試服務(wù)器說(shuō)明develop/README.md單實(shí)例集成棧配置develop/docker-compose.yml開(kāi)發(fā)環(huán)境入口與 Makefile 目標(biāo)develop/Makefile掌握eo.sh之后改完代碼 → 起服務(wù)器 → 驗(yàn)證 → 清理的循環(huán)會(huì)以分支為粒度并行展開(kāi)這正是它在多人協(xié)作和 AI 輔助開(kāi)發(fā)中不可替代的原因。贊分享【免費(fèi)下載鏈接】DocumentServer項(xiàng)目地址https://gitcode.com/gh_mirrors/doc/DocumentServer點(diǎn)擊查看免費(fèi)下載相關(guān)推薦構(gòu)建本地隱私優(yōu)先的屏幕記憶系統(tǒng)Pensieve完全指南構(gòu)建本地隱私優(yōu)先的屏幕記憶系統(tǒng)Pensieve完全指南 你是否經(jīng)常遇到我記得看過(guò)這個(gè)但找不到的情況在數(shù)字工作流中重要信息常常被遺忘在屏幕歷史的角落。PDocker-Android多設(shè)備并行測(cè)試終極指南同時(shí)運(yùn)行多個(gè)Android模擬器進(jìn)行并發(fā)測(cè)試Docker Android多設(shè)備并行測(cè)試終極指南同時(shí)運(yùn)行多個(gè)Android模擬器進(jìn)行并發(fā)測(cè)試 想要在CI/CD流水線(xiàn)中同時(shí)運(yùn)行多個(gè)Android模擬器虛擬化測(cè)試開(kāi)發(fā)工具mcp-for-beginners 實(shí)戰(zhàn)用 TypeScript 構(gòu)建、運(yùn)行并測(cè)試你的第一個(gè) MCP 服務(wù)器mcp for beginners 實(shí)戰(zhàn)用 TypeScript 構(gòu)建、運(yùn)行并測(cè)試你的第一個(gè) MCP 服務(wù)器 本文聚焦于 mcp for beginners教程文檔人工智能創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考