Hi to all,
following instructions here, here , here , here... with many thanks to all contributors, I was finally able to setup an EC2 windows custom image that is able to setup a nightly build for one of our product using Visual Studio 2008 (a native Windows application).
Being a jira studio user jira and svn/fisheye integration works great so if a svn commit contains a reference to the jira issue bamboo is able to show issues resolved/related the that build but if the plan refers to issues the agent raise an exception receiving the jms build command thus aborting the build process, else the build will proceed as expected.
So the plan is executed only if it does not refer to jira issues/ svn changeset.
I've raised an support call to Atlassian but custom elastic images are not supported so I hope that here I can find some help.
Please note that, despite the exception, i've tested with agent 3.0.3, 3.0.4 (jira studio aligned release) and 3.0.5 obtaining always the same results. I've also used the default image for another (compatible) build without problems.
Exception detail:
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491; nested exception is java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491
Caused by: javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:184)
at org.springframework.jms.support.converter.SimpleMessageConverter.extractSerializableFromMessage(SimpleMessageConverter.java:222)
at org.springframework.jms.support.converter.SimpleMessageConverter.fromMessage(SimpleMessageConverter.java:109)
at org.springframework.jms.core.JmsTemplate.doConvertFromMessage(JmsTemplate.java:763)
at org.springframework.jms.core.JmsTemplate.receiveSelectedAndConvert(JmsTemplate.java:742)
at com.atlassian.bamboo.v2.build.queue.AgentQueueAccessorImpl.takeBuildContext(AgentQueueAccessorImpl.java:31)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.getBuildContextFromQueue(BuildAgentControllerImpl.java:157)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:65)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:102)
at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at java.util.ArrayList.readObject(ArrayList.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:177)
... 10 more
Any help, or just ideas appreciated!
Federico