History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-127
Type: Bug Bug
Status: Resolved Resolved
Resolution: Incomplete
Priority: Blocker Blocker
Assignee: Robin Shen
Reporter: Matthew Inger
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Build Promotion is Not working

Created: 31/Aug/06 02:52 PM   Updated: 13/Nov/06 02:57 PM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown


 Description  « Hide
I have setup everthing as specified in the use cases to do build promotion.
I have this step definition

parallel
   serial
      checkout from quickbuild repository
      publish artifacts from quickbuild repository
   serial
      checkout source code
      label source code


And defined "qa" and "release" configurations, where the "release" configuration has the above step
as the default. THe "qa" configuration has a promote to configuration attribute set, and I get the following
error every time i try to promote (i'm logged in as admin):

An exception has occurred.

You may continue by restarting the session.

org.apache.tapestry.ApplicationRuntimeException
Unable to invoke method submit on com.pmease.quickbuild.web.PromoteEditor$Enhance_51@183350f[PromoteEditor]: org.acegisecurity.AccessDeniedException(Permission denied.)
 
com.pmease.quickbuild.QuickBuildRemoteException
org.acegisecurity.AccessDeniedException(Permission denied.)
Stack Trace:

* com.pmease.quickbuild.interceptor.RemoteExceptionConverter.invoke(RemoteExceptionConverter.java:23)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
    * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
    * $Proxy2.getConfigurationByHierarchyName(Unknown Source)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:585)
    * com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:141)
    * com.pmease.quickbuild.web.service.HessianService.service(HessianService.java:43)
.....



Secondly, it would be nice if we could use relative paths in the promote to configuration attribute,
as i'd always like somethign like "../release" to be where I promote to. In general, we just
duplicate configurations, so i don't want to have to keep changing this setting for every new
configuration we duplicate.



 All   Comments   Work Log   Change History      Sort Order:
Matthew Inger [31/Aug/06 03:29 PM]
PS: I also tried unpacking the 1.1.0 build, and using the default configuration, and I get a relatively similar error, though this time it complains about $Proxy2.promoteBuild as the fourth line of the stack trace.

To produce, unpack the distribution, create a "root.test" configuration, set the "myfirstbuild" promote destination to "root.test", and click teh "promote" button on the myfirstbuild-1.0.30 build. Then hit OK.

I thought maybe it was because I upgraded, but this confirms to me that it's not.

PS: In all my attempts I have been logged in as the admin user.

Robin Shen [31/Aug/06 04:43 PM]
Matt,

Please check the following:

1. When define promote destination, make sure the user name/password you specified have build permission on destination configuration.
2. At destination configuration side, make sure you define the QuickBuild repository with the following username/password:
username: ${promote.source.user}
password: ${promote.source.password}

If this does not help, please backup and send me your configuration (When backup the database to XML file, make sure the "clear password" option is checked to remove any password information).

Regards.
Robin

Robin Shen [01/Sep/06 04:55 AM]
To refer to Release configuration at the same level. Just specify destination configuration as:

${parent.toString() + ".Release"}

Regards.
Robin