我們已經開始使用marklogic來存儲文檔的新項目。爲了讓應用程序運行,我們需要創建一個數據庫,一個林,新用戶並設置一個XDBC服務器。使用Marklogic提供的網絡管理工具很容易,但要從一個持續集成服務器運行它,我們需要將它自動化。有沒有辦法從命令行執行它(如sqlcmd.exe for sqlserver或oracle中的sql plus)?如何通過腳本在marklogic中創建數據庫
回答
只要您使用MarkLogic 5.x,最簡單的事情就是使用配置管理器。此基於Web的工具允許您將整個數據庫和應用程序服務器配置導出到可以受版本控制的單個xml文件。它也可以導入完成設置或重新配置您的MarkLogic實例。
爲了將其用作持續集成的一部分,您必須腳本導入配置。您可以創建一個http服務器,該服務器具有一個調用配置API進行加載的端點,如文檔所示:http://community.marklogic.com/pubs/5.0/apidocs/package-api.html。這種基於https的服務可以很容易地通過ANT或任何其他CI工具調用。
另外,特別是如果您還沒有運行在5.x上,您可以腳本化整個過程而不是使用配置包。所有的管理任務都記錄在這裏: http://community.marklogic.com/pubs/5.0/books/adminAPI.pdf。然後您必須編寫配置數據庫,應用程序服務器等所需的所有代碼,然後通過上述的http服務器公開它。
感謝Clark Richey的幫助,我可能已經找到了一種自動配置MarkLogic服務器5.x的方法(儘管絕不是直截了當的)。
例如,如果你想(自動執行xdbc服務器的創建, 去一個實例的查詢控制檯,手動配置xdbc服務器exists.Use下面的XQuery生成的xdbc服務器軟件包文件在我大小寫稱爲sample-server)。
導入模塊名稱空間package =「http://marklogic.com/package/package」at「/MarkLogic/package/package.xqy」;
讓$我的包:=包:創建()
返回包:附加應用程序服務器($我的包, 「默認」, 「樣本服務器」)
你會現在可以看到一個包xml,其中包含創建和配置xdbc服務器所需的所有信息。將其保存在文件或剪貼板上。現在轉到您要配置的marklogic實例的查詢控制檯。使用以下xquery將其實際安裝在實例上。
導入模塊名稱空間package =「http://marklogic.com/package/package」at「/MarkLogic/package/package.xqy」;
設$包:= {貼上您在文件保存該包的XML /剪貼板第一步}
返回包:安裝($包)
現在,您將一個獲取XML結果它說該軟件包已被寫入。
現在在CI環境中實現自動化的所有重要步驟。我會寫一個自定義的ant/nant任務(或者在我的具體情況下是一個powershell cmdlet),它從文件系統讀取配置文件,使用XCC連接到ML(以及管理員憑據,因爲像創建數據庫和應用服務器這樣的東西需要它)然後執行上面定義的相同的xquery。然後,我可以在我的源代碼控制中版本控制配置文件,這樣我就可以自動完成新安裝的ML上數據庫的創建/配置,而無需任何手動干預。還有其他更好的方法嗎?
- 1. SQLite數據庫通過腳本創建
- 2. 如何通過NANT腳本爲數據庫創建MSI
- 3. 在bash腳本中通過ssh創建mySQL數據庫
- 4. 通過perl腳本在Lotus Domino數據庫中創建文檔
- 5. 通過腳本從SQL Server中的備份創建數據庫
- 6. 如何在Marklogic Server中創建數據庫字段?
- 7. 通過腳本庫創建文檔
- 8. 通過創建腳本將數據庫恢復到服務器
- 9. 創建一個Drupal 6 MySQL數據庫通過腳本
- 10. Shopify gem通過數據庫腳本創建產品
- 11. 通過sql腳本創建數據庫,然後使用該數據庫
- 12. 我如何在sql腳本上創建新的數據庫庫
- 13. 通過腳本創建cronjob
- 14. 使用rest api在marklogic中創建/刪除數據庫
- 15. 在節點js中使用xml創建marklogic數據庫
- 16. 通過腳本創建表以及如何運行腳本
- 17. 如何使用腳本(PHP等)在MySQL上創建數據庫
- 18. 如何通過腳本在activiti-app中創建流程實例?
- 19. 腳本SQLite數據庫創建
- 20. ADO.NET命令腳本數據庫創建
- 21. 創建Shell腳本數據庫 - 從PHP
- 22. SQL Server數據庫組創建腳本
- 23. YAGNI和數據庫創建腳本
- 24. SQL腳本,創建數據庫
- 25. 從DDL腳本創建數據庫
- 26. C#使用腳本創建數據庫
- 27. 生成數據庫創建腳本
- 28. 如何通過JDBC在DB2上創建/刪除數據庫?
- 29. 在codeigniter中創建一個php腳本(通過命令行觸發以創建數據庫的csv文件)
- 30. 通過存儲過程創建數據庫的副本
感謝您的鏈接。我們正在使用5.x.首先,我嘗試將應用程序服務器導入到xml中,並獲得了一個xml包。下一步是實際安裝軟件包。我使用了package:install(fn:doc(「/ xdbcserver.xml」)).....問題是具有uri /xdbcserver.xml的文件應該存在於數據庫中。這意味着有人必須手動將其放置在那裏。這與自動化配置的目的有點矛盾。我想要一個從客戶端文件系統加載包的函數,而不是DB中的現有文件。任何提示?再次感謝 – uttamkini 2012-04-09 19:07:49