bmuschko / gradle-cargo-plugin

Gradle plugin that provides deployment capabilities to local and remote containers via Cargo
Apache License 2.0
258 stars 63 forks source link

Can't deploy to Wildfly 10x #149

Closed lucduong closed 8 years ago

lucduong commented 8 years ago

My Configuration File:

cargo {
    containerId = 'wildfly10x'
    port = 9990

    deployable {
        context = '/'
    }

    remote {
        hostname = 'blp.e4u.vn'
        username = 'blueprint'
        password = 'Blue!@#123'
    }
}

The errors:

Caused by: : org.codehaus.cargo.container.ContainerException: Cannot create configuration. There's no registered configuration for the parameters (container [id = [wildfly10x], type = [remote]], configuration type [runtime]). Actually there are no valid types registered for this configuration. Maybe you've made a mistake spelling it?
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)
        at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:78)
        at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:93)
        at com.bmuschko.gradle.cargo.tasks.remote.RemoteCargoContainerTask.runAction(RemoteCargoContainerTask.groovy:81)
        at com.bmuschko.gradle.cargo.tasks.AbstractCargoContainerTask$_start_closure2.doCall(AbstractCargoContainerTask.groovy:92)
        at com.bmuschko.gradle.cargo.tasks.AbstractCargoContainerTask$_start_closure2.doCall(AbstractCargoContainerTask.groovy)
        at com.bmuschko.gradle.cargo.util.LoggingHandler.withAntLoggingListener(LoggingHandler.groovy:36)
        at com.bmuschko.gradle.cargo.util.LoggingHandler$withAntLoggingListener.call(Unknown Source)
        at com.bmuschko.gradle.cargo.tasks.AbstractCargoContainerTask.start(AbstractCargoContainerTask.groovy:91)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 57 more
Caused by: org.codehaus.cargo.container.ContainerException: Cannot create configuration. There's no registered configuration for the parameters (container [id = [wildfly10x], type = [remote]], configuration type [runtime]). Actually there are no valid types registered for this configuration. Maybe you've made a mistake spelling it?
        at org.codehaus.cargo.generic.spi.AbstractGenericHintFactory.createImplementation(AbstractGenericHintFactory.java:139)
        at org.codehaus.cargo.generic.spi.AbstractIntrospectionGenericHintFactory.createImplementation(AbstractIntrospectionGenericHintFactory.java:92)
        at org.codehaus.cargo.generic.configuration.DefaultConfigurationFactory.createConfiguration(DefaultConfigurationFactory.java:161)
        at org.codehaus.cargo.generic.configuration.DefaultConfigurationFactory.createConfiguration(DefaultConfigurationFactory.java:145)
        at org.codehaus.cargo.ant.ConfigurationElement.createConfiguration(ConfigurationElement.java:266)
        at org.codehaus.cargo.ant.CargoTask.makeContainer(CargoTask.java:1130)
        at org.codehaus.cargo.ant.CargoTask.execute(CargoTask.java:548)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        ... 73 more
bmuschko commented 8 years ago

You will likely have to upgrade to the latest version of Cargo. Please see the plugin documentation for more information.

lucduong commented 8 years ago

I'm using the latest version of cargo 2.2

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.bmuschko:gradle-cargo-plugin:2.2.2'
    }
}

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'com.bmuschko.cargo'
bmuschko commented 8 years ago

Your build script does not indicate that you are configuring the Cargo version. Can you please post the rest of your build script?

lucduong commented 8 years ago

Sorry, my bad, I used like this:

    // Java EE
    providedCompile 'javax:javaee-api:7.0'
    // Cargo
    cargo 'org.wildfly:wildfly-controller-client:8.2.1.Final'
    cargo 'org.codehaus.cargo:cargo-ant:1.5.0'

But when I execute gradle cargoReDeployRemote --stacktrace It didn't response.... > Building 0% > :cargoRedeployRemote

How about the modify plugin to show the percentage?

lucduong commented 8 years ago

Here is my error after waiting about 37 mins:

Caused by: org.codehaus.cargo.util.CargoException: Cannot deploy deployable org.codehaus.cargo.container.jboss.deployable.JBossWAR[BLP-2.0-ALPHA.war]
    at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:216)
    at org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245)
    at org.codehaus.cargo.ant.CargoTask.executeActions(CargoTask.java:798)
    at org.codehaus.cargo.ant.CargoTask.execute(CargoTask.java:576)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    ... 73 more
Caused by: java.util.concurrent.ExecutionException: Operation failed
    at org.jboss.threads.AsyncFutureTask.operationFailed(AsyncFutureTask.java:74)
    at org.jboss.threads.AsyncFutureTask.get(AsyncFutureTask.java:268)
    at org.jboss.as.controller.client.impl.AbstractDelegatingAsyncFuture.get(AbstractDelegatingAsyncFuture.java:100)
    at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:76)
    at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:42)
    at org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144)
    at org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84)
    at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212)
    ... 78 more
Caused by: java.io.IOException: Channel closed
    at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleChannelClosed(AbstractMessageHandler.java:367)
    at org.jboss.as.controller.client.impl.RemotingModelControllerClient$2.handleClose(RemotingModelControllerClient.java:137)
    at org.jboss.as.controller.client.impl.RemotingModelControllerClient$2.handleClose(RemotingModelControllerClient.java:134)
    at org.jboss.remoting3.spi.SpiUtils.safeHandleClose(SpiUtils.java:54)
    at org.jboss.remoting3.spi.AbstractHandleableCloseable$CloseHandlerTask.run(AbstractHandleableCloseable.java:514)
    at org.jboss.remoting3.spi.AbstractHandleableCloseable.runCloseTask(AbstractHandleableCloseable.java:419)
    at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeComplete(AbstractHandleableCloseable.java:290)
    at org.jboss.remoting3.remote.RemoteConnectionChannel.closeAction(RemoteConnectionChannel.java:543)
    at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeAsync(AbstractHandleableCloseable.java:372)
    at org.jboss.remoting3.remote.RemoteConnectionHandler.closeAllChannels(RemoteConnectionHandler.java:429)
    at org.jboss.remoting3.remote.RemoteConnectionHandler.sendCloseRequest(RemoteConnectionHandler.java:233)
    at org.jboss.remoting3.remote.RemoteConnectionHandler.handleConnectionClose(RemoteConnectionHandler.java:113)
    at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:81)
    at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:45)
    at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:199)
    at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:113)
    at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    at org.xnio.ChannelListeners$DelegatingChannelListener.handleEvent(ChannelListeners.java:1092)
    at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
    at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88)
    at org.xnio.nio.WorkerThread.run(WorkerThread.java:539)
bmuschko commented 8 years ago

I am not fully sure but you might need the org.codehaus.cargo:cargo-core-uberjar dependency as well. Other than that I cannot give any additional advice. Might be a bug in Cargo itself. I'd recommend as on their mailing list. This plugin really just calls off to the Cargo Ant tasks.

konradaadamczyk commented 7 years ago

try this https://github.com/bmuschko/gradle-cargo-plugin#configuring-the-cargo-version with cargo version 1.6.3 by default gradle-cargo-plugin uses old version of cargo which did not support wildfly 10

dveter commented 7 years ago

Got it working with WildFly 10.1.0.Final. Here's the full build.gradle that may be useful to someone:

apply plugin: 'com.bmuschko.cargo'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.bmuschko:gradle-cargo-plugin:2.2.3'
    }
}

repositories {
    maven {
        mavenCentral()
        url 'https://repository.jboss.org/nexus/content/groups/public/'
    }
}

dependencies {
    def cargoVersion = '1.6.5'
    cargo "org.codehaus.cargo:cargo-core-uberjar:$cargoVersion-SNAPSHOT",
          "org.codehaus.cargo:cargo-ant:$cargoVersion-SNAPSHOT",
          "commons-discovery:commons-discovery:0.6-SNAPSHOT",
          "org.apache.commons:commons-parent:22"
}

cargo {
    containerId = 'wildfly10x'

    deployable {
        file = file('build/lib/skin.war')
        context = 'skin'
    }

    deployable {
        file = file('build/lib/app.war')
        context = 'web-app'
    }

    remote {
        hostname = '192.168.1.5'
        username = 'wfadmin'
        password = 'mysecret!'
    }
}