使用 jenkins 在 jboss 上部署 war
Deploy war on jboss using jenkins
我有一个 ec2 实例,其中 jboss 是 运行,另一个 ec2 实例,其中 jenkins 是 installed.My war 内置于 jenkins.Now 我想将其部署在另一个 EC2 instance.SO 上的 jboss 上,我们使用容器插件上的部署作为 post 构建操作。我们已经给管理控制台 url 和 credentials.But atter 运行 工作我们得到以下错误:
错误
17:58:24 Deploying /../../../../some.war to container JBoss 7.x Remote
with context somewar 17:58:29 The undeployment phase of the redeploy
action has failed: org.codehaus.cargo.util.CargoException: Cannot
undeploy deployable
org.codehaus.cargo.container.deployable.WAR[some.war] 17:58:34 ERROR:
Build step failed with exception 17:58:34
org.codehaus.cargo.util.CargoException: Cannot deploy deployable
org.codehaus.cargo.container.deployable.WAR[some.war] 17:58:34 at
org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:216)
17:58:34 at
org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245)
17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
17:58:34 at hudson.FilePath.act(FilePath.java:1078) 17:58:34 at
hudson.FilePath.act(FilePath.java:1061) 17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
17:58:34 at
hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
17:58:34 at
hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
17:58:34 at
hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:45)
17:58:34 at
hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
17:58:34 at
hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
17:58:34 at
hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
17:58:34 at
hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
17:58:34 at hudson.model.Run.execute(Run.java:1843) 17:58:34 at
hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
17:58:34 at
hudson.model.ResourceController.execute(ResourceController.java:97)
17:58:34 at hudson.model.Executor.run(Executor.java:429) 17:58:34
Caused by: java.lang.RuntimeException: java.net.ConnectException:
JBAS012144: Could not connect to remote://soemhost:9999. The
connection timed out 17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:113)
17:58:34 at
org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:47)
17:58:34 at
org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79)
17:58:34 at
org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144)
17:58:34 at
org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84)
17:58:34 at
org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212)
17:58:34 ... 18 more 17:58:34 Caused by: java.net.ConnectException:
JBAS012144: Could not connect to remote://somehost:9999. The
connection timed out 17:58:34 at
org.jboss.as.protocol.ProtocolChannelClient.connectSync(ProtocolChannelClient.java:155)
17:58:34 at
org.jboss.as.protocol.mgmt.ManagementClientChannelStrategy$Establishing.getChannel(ManagementClientChannelStrategy.java:166)
17:58:34 at
org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:137)
17:58:34 at
org.jboss.as.controller.client.impl.RemotingModelControllerClient.getChannel(RemotingModelControllerClient.java:62)
17:58:34 at
org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:106)
17:58:34 at
org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:89)
17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:252)
17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:151)
17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:111)
17:58:34 ... 23 more 17:58:34 java.lang.RuntimeException:
java.net.ConnectException: JBAS012144: Could not connect to
remote://somehost:9999. The connection timed out 17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:113)
17:58:34 at
org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:47)
17:58:34 at
org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79)
17:58:34 at
org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144)
17:58:34 at
org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84)
17:58:34 at
org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212)
17:58:34 at
org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245)
17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
17:58:34 at hudson.FilePath.act(FilePath.java:1078) 17:58:34 at
hudson.FilePath.act(FilePath.java:1061) 17:58:34 at
hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
17:58:34 at
hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
17:58:34 at
hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
17:58:34 at
hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:45)
17:58:34 at
hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
17:58:34 at
hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
17:58:34 at
hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
17:58:34 at
hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
17:58:34 at hudson.model.Run.execute(Run.java:1843) 17:58:34 at
hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
17:58:34 at
hudson.model.ResourceController.execute(ResourceController.java:97)
17:58:34 at hudson.model.Executor.run(Executor.java:429) 17:58:34
Caused by: java.net.ConnectException: JBAS012144: Could not connect to
remote://somehost:9999. The connection timed out 17:58:34 at
org.jboss.as.protocol.ProtocolChannelClient.connectSync(ProtocolChannelClient.java:155)
17:58:34 at
org.jboss.as.protocol.mgmt.ManagementClientChannelStrategy$Establishing.getChannel(ManagementClientChannelStrategy.java:166)
17:58:34 at
org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:137)
17:58:34 at
org.jboss.as.controller.client.impl.RemotingModelControllerClient.getChannel(RemotingModelControllerClient.java:62)
17:58:34 at
org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:106)
17:58:34 at
org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:89)
17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:252)
17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:151)
17:58:34 at
org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:111)
可以看到防火墙规则,因为Jenkins没有连接到远程主机(Could not connect to remote http://somehost:9999)。
另一种部署方式是通过 ssh 使用 shell 脚本,例如 this
我有一个 ec2 实例,其中 jboss 是 运行,另一个 ec2 实例,其中 jenkins 是 installed.My war 内置于 jenkins.Now 我想将其部署在另一个 EC2 instance.SO 上的 jboss 上,我们使用容器插件上的部署作为 post 构建操作。我们已经给管理控制台 url 和 credentials.But atter 运行 工作我们得到以下错误:
错误
17:58:24 Deploying /../../../../some.war to container JBoss 7.x Remote with context somewar 17:58:29 The undeployment phase of the redeploy action has failed: org.codehaus.cargo.util.CargoException: Cannot undeploy deployable org.codehaus.cargo.container.deployable.WAR[some.war] 17:58:34 ERROR: Build step failed with exception 17:58:34 org.codehaus.cargo.util.CargoException: Cannot deploy deployable org.codehaus.cargo.container.deployable.WAR[some.war] 17:58:34 at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:216) 17:58:34 at org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) 17:58:34 at hudson.FilePath.act(FilePath.java:1078) 17:58:34 at hudson.FilePath.act(FilePath.java:1061) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) 17:58:34 at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) 17:58:34 at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) 17:58:34 at hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:45) 17:58:34 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741) 17:58:34 at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) 17:58:34 at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073) 17:58:34 at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) 17:58:34 at hudson.model.Run.execute(Run.java:1843) 17:58:34 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) 17:58:34 at hudson.model.ResourceController.execute(ResourceController.java:97) 17:58:34 at hudson.model.Executor.run(Executor.java:429) 17:58:34 Caused by: java.lang.RuntimeException: java.net.ConnectException: JBAS012144: Could not connect to remote://soemhost:9999. The connection timed out 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:113) 17:58:34 at org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:47) 17:58:34 at org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79) 17:58:34 at org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144) 17:58:34 at org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84) 17:58:34 at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212) 17:58:34 ... 18 more 17:58:34 Caused by: java.net.ConnectException: JBAS012144: Could not connect to remote://somehost:9999. The connection timed out 17:58:34 at org.jboss.as.protocol.ProtocolChannelClient.connectSync(ProtocolChannelClient.java:155) 17:58:34 at org.jboss.as.protocol.mgmt.ManagementClientChannelStrategy$Establishing.getChannel(ManagementClientChannelStrategy.java:166) 17:58:34 at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:137) 17:58:34 at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getChannel(RemotingModelControllerClient.java:62) 17:58:34 at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:106) 17:58:34 at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:89) 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:252) 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:151) 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:111) 17:58:34 ... 23 more 17:58:34 java.lang.RuntimeException: java.net.ConnectException: JBAS012144: Could not connect to remote://somehost:9999. The connection timed out 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:113) 17:58:34 at org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:47) 17:58:34 at org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79) 17:58:34 at org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144) 17:58:34 at org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84) 17:58:34 at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212) 17:58:34 at org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) 17:58:34 at hudson.FilePath.act(FilePath.java:1078) 17:58:34 at hudson.FilePath.act(FilePath.java:1061) 17:58:34 at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) 17:58:34 at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) 17:58:34 at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) 17:58:34 at hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:45) 17:58:34 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741) 17:58:34 at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) 17:58:34 at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073) 17:58:34 at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) 17:58:34 at hudson.model.Run.execute(Run.java:1843) 17:58:34 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) 17:58:34 at hudson.model.ResourceController.execute(ResourceController.java:97) 17:58:34 at hudson.model.Executor.run(Executor.java:429) 17:58:34 Caused by: java.net.ConnectException: JBAS012144: Could not connect to remote://somehost:9999. The connection timed out 17:58:34 at org.jboss.as.protocol.ProtocolChannelClient.connectSync(ProtocolChannelClient.java:155) 17:58:34 at org.jboss.as.protocol.mgmt.ManagementClientChannelStrategy$Establishing.getChannel(ManagementClientChannelStrategy.java:166) 17:58:34 at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:137) 17:58:34 at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getChannel(RemotingModelControllerClient.java:62) 17:58:34 at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:106) 17:58:34 at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:89) 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:252) 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:151) 17:58:34 at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:111)
可以看到防火墙规则,因为Jenkins没有连接到远程主机(Could not connect to remote http://somehost:9999)。
另一种部署方式是通过 ssh 使用 shell 脚本,例如 this