Я использую Cargo для развертывания сгенерированного maven файла войны на удаленном сервере JBoss, который уже запущен. Обычно это работает нормально. Cargo настроен на отмену развертывания на этапе предварительной очистки mavne и на развертывание на этапе установки maven. Это означает, что если есть ошибка, например. на этапе компиляции развертывания не будет. Чтобы справиться с этим, я использую сторожевой таймер груза. Таким образом, в следующем maven-цикле, когда нет возможности развертывания для отмены развертывания, сторожевой таймер должен признать, что нечего удалять, и corgo не должен вызывать сбой. Согласно этой странице, Watchdog создан именно для этого (прокрутите до самого низа).
Но угадайте, что случилось? Cargo генерирует build-Failure.
Я почти уверен, что сам сторожевой таймер работает правильно, потому что, когда несколько месяцев назад у меня возникла еще одна проблема с undeployer (вызванная настройками брандмауэра), сторожевой таймер понял, что undeployer не удалось.
Я не нашел ничего полезного ни в stackoverflow, ни в cargo-jira-page. Не увидел возможности добавить билет на груз. Может быть, кто-то знает это поведение и как его исправить.
Мой пом.xml:
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.8</version>
<dependencies>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-controller-client</artifactId>
<version>7.1.0.Final</version>
</dependency>
</dependencies>
<configuration>
<cargo.logging>high</cargo.logging>
<container>
<timeout>300000</timeout>
<containerId>jboss71x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.hostname><myHost></cargo.hostname>
<cargo.jboss.management-native.port>9999</cargo.jboss.management-native.port>
<cargo.remote.username><myUsername></cargo.remote.username>
<cargo.remote.password><myPassword></cargo.remote.password>
</properties>
</configuration>
<deployer>
<type>remote</type>
</deployer>
<deployables>
<deployable>
<groupId><myGroupId></groupId>
<artifactId><myArtifactId></artifactId>
<type>war</type>
<properties>
<context><myContext></context>
</properties>
<location>${project.build.directory}\${project.build.finalName}.${project.packaging}</location>
<pingURL><myPingUrl></pingURL>
<pingTimeout>60000</pingTimeout>
</deployable>
</deployables>
</configuration>
<executions>
<execution>
<id>undeploy</id>
<phase>pre-clean</phase>
<goals>
<goal>undeploy</goal>
</goals>
</execution>
<execution>
<id>deploy</id>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>