Arquillian: 複数のコンテナを使い分ける
EclipseとJenkinsでコンテナを切り替えたい。
arquillian.xml
<?xml version="1.0" encoding="UTF-8"?> <arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <!-- Uncomment to have test archives exported to the file system for inspection --> <!-- <engine> --> <!-- <property name="deploymentExportPath">target/</property> --> <!-- </engine> --> <container qualifier="jboss-eclipse" default="true"> <protocol type="jmx-as7"> <property name="executionTyspe">REMOTE</property> </protocol> <configuration> <property name="jbossHome">/path/to/jbossas7</property> </configuration> </container> <container qualifier="jboss-ci"> <protocol type="jmx-as7"> <property name="executionType">REMOTE</property> </protocol> <configuration> <property name="jbossHome">/path/to/jbossas7_jenkins/</property> </configuration> </container> </arquillian>
デフォルトではdefault="true"を付けたjboss-eclipseが選択される。
arquillian.xmlと同じディレクトリに"jboss-ci"とだけ記述したarquillian.launchというテキストファイルを配置すると、jboss-ciが選択される。
Jenkinsでmavenを実行する前に、shellscriptで毎回このファイルを配置することにした。
-Darquillian.launch=jboss-ciというシステムプロパティでもいけそうな気がするんだが、どうしても失敗して、"Could not read active container configuration: null"というメッセージが出る。