What I'm trying to do is use Bamboo to build a Maven project, then deploy it to Amazon Web Services Elastic Beanstalk. I'm able to build and deploy from my local straight to EB, but we want to separate the two processes and do them through Bamboo for versioning and logging purposes.
The deployment to EB is done using the Beanstalker Maven plugin, so when I want to deploy I run
mvn beanstalk:fast-deploy
and it should deploy. In order for the plugin to work it needs to access a set of keys and a ServerId from the settings.xml. Before it's included the only error I get is about the lack of server settings in the settings.xml, but once the settings.xml file is included it results in a linkage error. I've included it the following ways, which all result in the linkage error:
- Moving the settings.xml file into the .m2 folder
- Including the settings.xml as either a -s or -gs argument in the mvn command
- Passing the keys as environment variables at deployment
I'm honestly not sure if the issue is that modifying the .m2 folder causes something to get corrupted, or if once it's able to access the settings.xml and move onto the next step of the deployment it runs into an issue that was already present. Like I said earlier this build and deployment works on my local, so I can't tell what the issue is.
Included below is the relevant segment of error code. If anyone wants to help and needs any more information, please let me know. Thanks in advance!
build 26-Aug-2014 09:19:04 [INFO] [beanstalk:fast-deploy]
build 26-Aug-2014 09:19:04 [WARNING] You should encrypt your passwords. See http://beanstalker.ingenieux.com.br/security.html for more information
build 26-Aug-2014 09:19:04 [FATAL ERROR] br.com.ingenieux.mojo.beanstalk.bundle.FastDeployMojo#execute() caused a linkage error (java.lang.NoClassDefFoundError) and may be out-of-date. Check the realms:
build 26-Aug-2014 09:19:04 [FATAL ERROR] Plugin realm = app0.child-container[br.com.ingenieux:beanstalk-maven-plugin:1.3.2]
build 26-Aug-2014 09:19:04 urls[0] = file:/home/bamboo/.m2/repository/br/com/ingenieux/beanstalk-maven-plugin/1.3.2/beanstalk-maven-plugin-1.3.2.jar
build 26-Aug-2014 09:19:04 urls[1] = file:/home/bamboo/.m2/repository/br/com/ingenieux/beanstalker-common/1.3.2/beanstalker-common-1.3.2.jar
build 26-Aug-2014 09:19:04 urls[2] = file:/home/bamboo/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
build 26-Aug-2014 09:19:04 urls[3] = file:/home/bamboo/.m2/repository/com/amazonaws/aws-java-sdk/1.6.12/aws-java-sdk-1.6.12.jar
build 26-Aug-2014 09:19:04 urls[4] = file:/home/bamboo/.m2/repository/org/apache/httpcomponents/httpclient/4.2/httpclient-4.2.jar
build 26-Aug-2014 09:19:04 urls[5] = file:/home/bamboo/.m2/repository/org/apache/httpcomponents/httpcore/4.2/httpcore-4.2.jar
build 26-Aug-2014 09:19:04 urls[6] = file:/home/bamboo/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
build 26-Aug-2014 09:19:04 urls[7] = file:/home/bamboo/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.1.1/jackson-core-2.1.1.jar
build 26-Aug-2014 09:19:04 urls[8] = file:/home/bamboo/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.1.1/jackson-databind-2.1.1.jar
build 26-Aug-2014 09:19:04 urls[9] = file:/home/bamboo/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.1.1/jackson-annotations-2.1.1.jar
build 26-Aug-2014 09:19:04 urls[10] = file:/home/bamboo/.m2/repository/joda-time/joda-time/2.4/joda-time-2.4.jar
build 26-Aug-2014 09:19:04 urls[11] = file:/home/bamboo/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
build 26-Aug-2014 09:19:04 urls[12] = file:/home/bamboo/.m2/repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar
build 26-Aug-2014 09:19:04 urls[13] = file:/home/bamboo/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
build 26-Aug-2014 09:19:04 urls[14] = file:/home/bamboo/.m2/repository/commons-io/commons-io/2.1/commons-io-2.1.jar
build 26-Aug-2014 09:19:04 urls[15] = file:/home/bamboo/.m2/repository/org/slf4j/jcl-over-slf4j/1.6.4/jcl-over-slf4j-1.6.4.jar
build 26-Aug-2014 09:19:04 urls[16] = file:/home/bamboo/.m2/repository/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar
build 26-Aug-2014 09:19:04 urls[17] = file:/home/bamboo/.m2/repository/org/slf4j/slf4j-nop/1.6.4/slf4j-nop-1.6.4.jar
build 26-Aug-2014 09:19:04 urls[18] = file:/home/bamboo/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
build 26-Aug-2014 09:19:04 urls[19] = file:/home/bamboo/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/2.1.0.201209190230-r/org.eclipse.jgit-2.1.0.201209190230-r.jar
build 26-Aug-2014 09:19:04 [FATAL ERROR] Container realm = plexus.core
build 26-Aug-2014 09:19:04 urls[0] = file:/opt/maven-2.1/lib/maven-2.1.0-uber.jar
build 26-Aug-2014 09:19:04 [INFO] ------------------------------------------------------------------------
build 26-Aug-2014 09:19:04 [ERROR] FATAL ERROR
build 26-Aug-2014 09:19:04 [INFO] ------------------------------------------------------------------------
build 26-Aug-2014 09:19:04 [INFO] com/google/common/base/Predicate
build 26-Aug-2014 09:19:04 com.google.common.base.Predicate
build 26-Aug-2014 09:19:04 [INFO] ------------------------------------------------------------------------
build 26-Aug-2014 09:19:04 [DEBUG] Trace
build 26-Aug-2014 09:19:04 java.lang.NoClassDefFoundError: com/google/common/base/Predicate
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.defineClass1(Native Method)
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
build 26-Aug-2014 09:19:04 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
build 26-Aug-2014 09:19:04 at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
build 26-Aug-2014 09:19:04 at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
build 26-Aug-2014 09:19:04 at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
build 26-Aug-2014 09:19:04 at java.security.AccessController.doPrivileged(Native Method)
build 26-Aug-2014 09:19:04 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
build 26-Aug-2014 09:19:04 at br.com.ingenieux.mojo.beanstalk.cmd.env.waitfor.WaitForEnvironmentCommand.getEnvironmentDescriptionPredicate(WaitForEnvironmentCommand.java:104)
build 26-Aug-2014 09:19:04 at br.com.ingenieux.mojo.beanstalk.cmd.env.waitfor.WaitForEnvironmentCommand.lookupInternal(WaitForEnvironmentCommand.java:67)
build 26-Aug-2014 09:19:04 at br.com.ingenieux.mojo.beanstalk.AbstractBeanstalkMojo.lookupEnvironment(AbstractBeanstalkMojo.java:52)
build 26-Aug-2014 09:19:04 at br.com.ingenieux.mojo.beanstalk.AbstractNeedsEnvironmentMojo.configure(AbstractNeedsEnvironmentMojo.java:59)
build 26-Aug-2014 09:19:04 at br.com.ingenieux.mojo.beanstalk.bundle.FastDeployMojo.configure(FastDeployMojo.java:73)
build 26-Aug-2014 09:19:04 at br.com.ingenieux.mojo.aws.AbstractAWSMojo.execute(AbstractAWSMojo.java:350)
build 26-Aug-2014 09:19:04 at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
build 26-Aug-2014 09:19:04 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
build 26-Aug-2014 09:19:04 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
build 26-Aug-2014 09:19:04 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
build 26-Aug-2014 09:19:04 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
build 26-Aug-2014 09:19:04 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
build 26-Aug-2014 09:19:04 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
build 26-Aug-2014 09:19:04 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
build 26-Aug-2014 09:19:04 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
build 26-Aug-2014 09:19:04 at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
build 26-Aug-2014 09:19:04 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
build 26-Aug-2014 09:19:04 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
build 26-Aug-2014 09:19:04 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
build 26-Aug-2014 09:19:04 at java.lang.reflect.Method.invoke(Method.java:597)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
build 26-Aug-2014 09:19:04 Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate
build 26-Aug-2014 09:19:04 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
build 26-Aug-2014 09:19:04 at java.security.AccessController.doPrivileged(Native Method)
build 26-Aug-2014 09:19:04 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
build 26-Aug-2014 09:19:04 at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
build 26-Aug-2014 09:19:04 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
build 26-Aug-2014 09:19:04 ... 38 more