在开发者之间同步 jboss 模块和 jbossdatahome
Sync jboss modules and jbossdatahome between devs
我们使用本地 jboss 7 个实例 (maven jboss plugin) 和用于本地开发的自定义模块。每个开发人员都可以从事多个项目。对于每个项目,每个开发人员都需要有适当的 jboss 模块和 jbossdatahome 文件夹。
每个开发人员都需要这些文件夹的相同路径,因为它们在 maven pom (maven-jboss-plugin config) 中进行了硬编码。
我真的很讨厌这个设置和随之而来的管理工作(在更改项目时)。
我们如何方便地在每个项目的所有开发人员之间同步模块、jboss 配置和 jbossdatahome?
我最初的想法是将所有内容都放在每个项目的 SVN 文件夹中,但由于模块包含 jar(并且 jboss 实例本身也相当大),我想它很快就会变得太大.
我想要某种可移植的 maven 配置。但是一直没有找到解决方法..
有人有建议吗?
您可以使用 JBoss CLI 编写 JBoss 实例配置脚本。不过,您需要确保 JAR 文件在某处可用。
如果您创建一个文件,例如module-add.cli
其中包含以下内容:
module add --name=org.mysql --resources=mysql-connector-java-5.1.18-bin.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=mysql:add(driver-module-name=org.mysql,driver-name=mysql,driver-class-name=com.mysql.jdbc.Driver)
/subsystem=datasources/data-source=MySQLDS:add(jndi-name=java:jboss/datasources/MySQLDS, driver-name=mysql, connection-url=jdbc:mysql://localhost:3306/as7development,user-name=root,password=admin)
并且您将所有 JAR 存储在一个已知的存储库中(我过去使用过 Nexus),您可以创建一个简单的 bash 脚本来设置它,例如:
wget http://url.to.nexus/hosted/jboss/module.jar
/$JBoss-Home/bin/jboss-cli.sh -c --file=module-add.cli
这会将您的 module.jar 下载到您 运行 脚本所在的同一目录。为了一致性起见,您可能更愿意使用所有绝对路径(并使脚本在更少的先决条件下更易于重用)
它并不完美,但它确实有效。
您还可以将此方法与 Vagrant 之类的方法结合起来,为您提供一种可预测的方式来供应和配置环境。
CLI 脚本来源:http://www.mastertheboss.com/jboss-server/jboss-script/installing-a-jboss-as-7-module-using-the-cli
我们使用本地 jboss 7 个实例 (maven jboss plugin) 和用于本地开发的自定义模块。每个开发人员都可以从事多个项目。对于每个项目,每个开发人员都需要有适当的 jboss 模块和 jbossdatahome 文件夹。 每个开发人员都需要这些文件夹的相同路径,因为它们在 maven pom (maven-jboss-plugin config) 中进行了硬编码。
我真的很讨厌这个设置和随之而来的管理工作(在更改项目时)。
我们如何方便地在每个项目的所有开发人员之间同步模块、jboss 配置和 jbossdatahome?
我最初的想法是将所有内容都放在每个项目的 SVN 文件夹中,但由于模块包含 jar(并且 jboss 实例本身也相当大),我想它很快就会变得太大.
我想要某种可移植的 maven 配置。但是一直没有找到解决方法..
有人有建议吗?
您可以使用 JBoss CLI 编写 JBoss 实例配置脚本。不过,您需要确保 JAR 文件在某处可用。
如果您创建一个文件,例如module-add.cli
其中包含以下内容:
module add --name=org.mysql --resources=mysql-connector-java-5.1.18-bin.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=mysql:add(driver-module-name=org.mysql,driver-name=mysql,driver-class-name=com.mysql.jdbc.Driver)
/subsystem=datasources/data-source=MySQLDS:add(jndi-name=java:jboss/datasources/MySQLDS, driver-name=mysql, connection-url=jdbc:mysql://localhost:3306/as7development,user-name=root,password=admin)
并且您将所有 JAR 存储在一个已知的存储库中(我过去使用过 Nexus),您可以创建一个简单的 bash 脚本来设置它,例如:
wget http://url.to.nexus/hosted/jboss/module.jar
/$JBoss-Home/bin/jboss-cli.sh -c --file=module-add.cli
这会将您的 module.jar 下载到您 运行 脚本所在的同一目录。为了一致性起见,您可能更愿意使用所有绝对路径(并使脚本在更少的先决条件下更易于重用)
它并不完美,但它确实有效。
您还可以将此方法与 Vagrant 之类的方法结合起来,为您提供一种可预测的方式来供应和配置环境。
CLI 脚本来源:http://www.mastertheboss.com/jboss-server/jboss-script/installing-a-jboss-as-7-module-using-the-cli