У нас есть С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/
Комментариев нет:
Отправить комментарий