How to have a single job running across projects
Hi
I have the following question. I have 3 projects and each one of them has 4 to 5 configurations. One configuration in each of these projects - when it is running on any of the agents - cannot allow any configuration of its type to run. For example:
ProjectA
BuildConfig
GlobalTestConfig
UnitTestConfig
ProjectB
BuildConfig
GlobalTestConfig
UnitTestConfig
ProjectC
BuildConfig
GlobalTestConfig
UnitTestConfig
All the configs can run in parallel except for GlobalTestConfig. This configuration when running prevents GlobalTestConfig in another project from running. How can I achieve this using TeamCity?
Please sign in to leave a comment.
Hi!
It seems you need a kind of semaphoreto perform GlobalTestConfig job.
Olivier.
Take a look at this plugin: http://www.jetbrains.net/confluence/display/TW/Groovy+plug
One of its features is the ability to use read/write locks
Thanks. I installed it - but in the server logs, I am getting the following error.
I copied the appropriate files into WEB-INF/lib (antlr, asm and groovy jars).
I copied the groovyPlug.zip into .BuildServer/plugins folder.
-Pawan
groovy.lang.MissingMethodException: No signature of method: jetbrains.buildserver.groovyPlug.Lock.call() is applicable for argument types: (jetbrains.buildserver.groovyPlug.Lock, jetbrains.buildServer.serverSide.impl.BuildPromotionImpl) values: [jetbrains.buildserver.groovyPlug.Lock{name:singlelock, type:WriteLock}, BuildPromotion{myId=19, myBuildTypeId='bt2', myModificationId=-1, myRevisions=[BuildRevision[myVcsRootEntry=VcsRootEntry[myVcsRoot=platform, myCheckoutRules==>
], myRevision=RepositoryVersion[myVersion='42120_2009/08/24 16:08:22 -0700', myDisplayVersion='42120']]], myAssociatedBuildId=18}]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:51)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
at jetbrains.buildserver.groovyPlug.LockManager.lock(BuildResourcesLock:94)
at jetbrains.buildserver.groovyPlug.LockManager$lock.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)