У нас есть Сontinuous Integration сервер - Hudson. Отличная штука, работает как часики. Но было единственное, чего мне не хватало - возможности автоматической публикации результатов текущего build trunk-а на WebLogic. Известно, что Hudson может выполнять плагины от maven. А в maven, в свою очередь, есть плагин weblogic-maven-plugin. Не смотря на то, что он позиционируется на версии WebLogic се старше 9.0, прекрасно справляется и с WebLogic 10.3.
Настройка.
Настройка плагина заключается в конфигурировании pom.xml проекта и удовлетворении зависимостей модуля.
Pom.xml
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>weblogic-maven-plugin</artifactId> <version>2.9.1</version> <executions> <execution> <phase>deploy</phase> <goals> <goal>deploy</goal> <goal>start</goal> </goals> </execution> </executions> <configuration> <name>GreetingsEA</name> <adminServerHostName>weblogicserver.ru</adminServerHostName> <adminServerPort>7001</adminServerPort> <adminServerProtocol>t3</adminServerProtocol> <userId>user</userId> <password>password</password> <upload>true</upload> <remote>true</remote> <verbose>false</verbose> <debug>false</debug> <targetNames>AdminServer</targetNames> <noExit>true</noExit> </configuration> <dependencies> <dependency> <groupId>weblogic</groupId> <artifactId>wlfullclient</artifactId> <version>10.3.1.0</version> </dependency> <dependency> <groupId>weblogic</groupId> <artifactId>com.bea.core.descriptor.wl</artifactId> <version>1.1.0.0</version> <scope>provided</scope> </dependency> </dependencies> </plugin>
Удовлетворение зависимостей модуля
Тут все немного сложнее. Изначально maven-release-plugin зависит от 17 библиотек.
- bea\modules\com.bea.core.descriptor.wl_1.1.0.0.jar
- bea\modules\com.bea.core.descriptor_1.4.0.0.jar
- bea\modules\com.bea.core.management.core_2.3.0.0.jar
- bea\modules\com.bea.core.management.jmx_1.1.0.0.jar
- bea\modules\com.bea.core.weblogic.lifecycle_1.1.0.0.jar
- bea\modules\com.bea.core.weblogic.security.digest_1.0.0.0.jar
- bea\modules\com.bea.core.weblogic.security.identity_1.1.0.0.jar
- bea\modules\com.bea.core.weblogic.security.wls_2.0.1.0.jar
- bea\modules\com.bea.core.weblogic.security_2.0.1.0.jar
- bea\modules\com.bea.core.weblogic.socket.api_1.0.0.0.jar
- bea\modules\com.bea.core.weblogic.workmanager_1.4.0.0.jar
- bea\modules\javax.enterprise.deploy_1.2.jar
- bea\wlserver_10.3\server\lib\wljmsclient.jar
- bea\wlserver_10.3\server\lib\wls-api.jar
- bea\wlserver_10.3\server\lib\wlsafclient.jar
- bea\wlserver_10.3\server\lib\weblogic.jar
- bea\wlserver_10.3\server\lib\webserviceclient.jar
- %ORACLE_HOME%/bea/modules//webservicesclient.jar
- %ORACLE_HOME%/bea/modules/com.bea.core.descriptor.wl_1.1.0.0.jar
- wlfullclient.jar
mvn deploy:deploy-file -DgroupId=weblogic -DartifactId=webserviceclient -Dversion=10.3 -Dpackaging=jar -Dfile=webserviceclient.jar
mvn deploy:deploy-file -DgroupId=weblogic -DartifactId=com.bea.core.descriptor.wl -Dversion=1.1.0.0 -Dpackaging=jar -Dfile=com.bea.core.descriptor.wl_1.1.0.0.jarДля wlfullclient.jar нужно зайти в %WL_HOME%/server/lib и выполнить команду для сбора этой библиотеки:
java -jar wljarbuilder.jarи после этого выполнить привычный deploy
mvn deploy:deploy-file -DgroupId=weblogic -DartifactId=wlfullclient -Dpackaging=jar -Dfile=wlfullclient.jar -Dversion=10.3.1.0 -DrepositoryId=<repositoryId> -Durl=<repositoryUrl>
Все готово.
Можно идти в проект и выполнить команду
mvn weblogic:deploy
далее в Hudson можно прописать дополнительный maven-goal:
Ссылки.
- weblogic-maven-pugin - http://mojo.codehaus.org/weblogic-maven-plugin/plugin-info.html
- Hudson CIS - http://hudson-ci.org/
Комментариев нет:
Отправить комментарий