我们已经开始使用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. 通过脚本从SQL Server中的备份创建数据库
- 4. 创建一个Drupal 6 MySQL数据库通过脚本
- 5. 通过sql脚本创建数据库,然后使用该数据库
- 6. 通过脚本创建cronjob
- 7. 通过脚本创建表以及如何运行脚本
- 8. 如何使用脚本(PHP等)在MySQL上创建数据库
- 9. 生成数据库创建脚本
- 10. 创建Shell脚本数据库 - 从PHP
- 11. YAGNI和数据库创建脚本
- 12. SQL脚本,创建数据库
- 13. 如何通过JDBC在DB2上创建/删除数据库?
- 14. 在codeigniter中创建一个php脚本(通过命令行触发以创建数据库的csv文件)
- 15. 通过mySQL数据库创建搜索
- 16. 如何通过T-SQL获取数据库的“生成脚本”
- 17. 如何部署BIML脚本来创建数据库
- 18. 如何创建数据库差异/升级脚本?
- 19. 如何使用SQL脚本创建数据库?
- 20. 如何从脚本创建Access数据库
- 21. 如何从Perl脚本创建MySQL数据库?
- 22. 在默认路径中使用脚本创建数据库?
- 23. 在bash脚本中创建mysql数据库和用户
- 24. SQL - 在一个脚本中创建数据库和表格
- 25. 在Android中使用脚本创建SQLite数据库
- 26. 在php脚本中创建数据库表的克隆
- 27. 如何在C++中创建数据库
- 28. 如何在android中创建数据库?
- 29. 如何在Azure中创建数据库?
- 30. 通过从数据库中创建xml数据多边形mysql
感谢您的链接。我们正在使用5.x.首先,我尝试将应用程序服务器导入到xml中,并获得了一个xml包。下一步是实际安装软件包。我使用了package:install(fn:doc(“/ xdbcserver.xml”)).....问题是具有uri /xdbcserver.xml的文件应该存在于数据库中。这意味着有人必须手动将其放置在那里。这与自动化配置的目的有点矛盾。我想要一个从客户端文件系统加载包的函数,而不是DB中的现有文件。任何提示?再次感谢 – uttamkini 2012-04-09 19:07:49