当我尝试使用 AWSEB 部署插件从 Jenkins 将我的 webapp 部署到 AWS elastic beantalk 时出现以下错误。
我在 Root Object
字段集中指定了一个文件路径,所以我在 Includes
和 Excludes
字段集中没有值。
AWSEB Deployment Plugin Version 0.3.15 FATAL: Deployment Failure java.io.IOException: Deployment Failure at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:188) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.Build$BuildExecution.build(Build.java:205) at hudson.model.Build$BuildExecution.doRun(Build.java:162) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) at hudson.model.Run.execute(Run.java:1728) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:404) Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Root Object doesn't exist at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at hudson.remoting.LocalChannel$2.get(LocalChannel.java:77) at br.com.ingenieux.jenkins.plugins.awsebdeployment.DeployerRunner.perform(DeployerRunner.java:66) at br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSEBDeploymentBuilder.perform(AWSEBDeploymentBuilder.java:184) ... 9 more Caused by: java.lang.IllegalArgumentException: Root Object doesn't exist at org.apache.commons.lang.Validate.isTrue(Validate.java:136) at br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.DeployerCommand$ValidateParameters.perform(DeployerCommand.java:124) at br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.DeployerChain.perform(DeployerChain.java:54) at br.com.ingenieux.jenkins.plugins.awsebdeployment.SlaveDeployerCallable.call(SlaveDeployerCallable.java:42) at br.com.ingenieux.jenkins.plugins.awsebdeployment.SlaveDeployerCallable.call(SlaveDeployerCallable.java:27) at hudson.remoting.LocalChannel$1.call(LocalChannel.java:52) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
关于这个错误有什么想法吗? 根对象不存在
最佳答案
Root obect 字段希望您提供要部署到 beanstalk 的文件或文件夹的路径。
这里重要的是路径应该是相对于你的项目的根目录。
考虑下面的例子:
- 您的项目位于目录“P”中,在此文件夹中您有 2 个子目录 A 和 B。
- 假设在您之前的构建步骤中,您已经导航到一个子目录,比如 A
- 您要部署的文件存在于 A/target/XYZ.war 中
- 然后,根对象字段的条目将是“A/target/XYZ.war”(不带引号)
注意 - 即使您当前的工作目录是 A ,但 Root 对象路径仍然必须相对于您的工作区(项目的根目录)
关于java - 将 war 文件从 Jenkins 部署到弹性 beanstalk 时部署失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342519/