CCNET Source Get Fail

If you are having a problem using Fortress, post a message here.

Moderator: SourceGear

mack0196
Posts: 3
Joined: Tue Feb 16, 2010 1:41 pm

CCNET Source Get Fail

Post by mack0196 » Tue Feb 16, 2010 1:55 pm

I am using CCNET build 1.5.6868 with Fortress CCNET plugin for fortress 2.0.

I am using CCNET for the first time.
I have added extracted CCNetPlugin.zip dlls to the server directory of my CCNET install.
I have setup the ccnet.config per CCNetPlugin.zip ReadMe.txt.
When I force build the ccnet.exe output reads like it is getting the source, but no files are put in the speicifed <workingDirectory>.
I have an MSBUILD task, but I am just trying to have succcess getting source first.
ccnet.config:

Code: Select all

<project name="CruiseControlTest" queue="Q1" queuePriority="1">
  <workingDirectory>projects/CruiseControlTest/WorkingDirectory</workingDirectory>
  <artifactDirectory>projects/CruiseControlTest/ArtifactDirectory</artifactDirectory>
  <category>Test</category>
  <modificationDelaySeconds>2</modificationDelaySeconds>
  <maxSourceControlRetries>5</maxSourceControlRetries>
  <initialState>Started</initialState>
  <startupMode>UseInitialState</startupMode>
  <triggers>
    <intervalTrigger name="Five Minute Continuous" seconds="300" buildCondition="ForceBuild" initialSeconds="60" />
    <scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Scheduled Daily"/>
  </triggers>
  <prebuild>
    <modificationHistory onlyLogWhenChangesFound="false" />
  </prebuild>
  <tasks></tasks>
  <publishers>
    <xmllogger logDir="xmllogger_buildlogs" />
  </publishers>
  <sourcecontrol type="fortressplugin" >
    <username>xxx</username>
    <password>xxx</password>
    <host>sourcegear1</host>
    <repository>REPOSITORY</repository>
    <folder>$/DotNet/CruiseControlTest</folder>
    <ssl>false</ssl>
    <autoGetSource>true</autoGetSource>
    <cleanCopy>true</cleanCopy>
    <useWorkingDirectory>false</useWorkingDirectory>
    <workingDirectory>C:\Program Files (x86)\CruiseControl.NET\server\projects\CruiseControlTest\WorkingDirectory</workingDirectory>
  </sourcecontrol>
</project>
</cruisecontrol>
ccnet.exe output:

Code: Select all

[3:DEBUG]  [] has been granted ViewProject permission on 'CruiseControlTest'
[3:DEBUG]  [] has been granted ViewProject permission on 'CruiseControlTest'
[3:DEBUG]  [] has been granted ForceAbortBuild permission on 'CruiseControlTest'
[3:INFO] Project: 'CruiseControlTest' is added to queue: 'Q1' in position 0.
[CruiseControlTest:INFO] Queue: 'Q1' is attempting to be in-use, trying to lock related queues
[CruiseControlTest:INFO] Project: 'CruiseControlTest' is first in queue: 'Q1' and shall start integration.
[CruiseControlTest:DEBUG] In FortressVaultSourceControl.GetModifications()
[CruiseControlTest:DEBUG] In FortressVaultSourceControl.LoadState()
[CruiseControlTest:DEBUG] Successfully loaded state.  Last integrated folder version was 1.  Last successfully integrated folder version was 0.
[CruiseControlTest:DEBUG] Loading Client tree information for TEA
[CruiseControlTest:INFO] Succesfully logged into Fortress server sourcegear1
[CruiseControlTest:DEBUG] Loading Client tree information for TEA
[CruiseControlTest:DEBUG] Refresh() successful.
[CruiseControlTest:DEBUG] In GetCurrentFolderVersion()
[CruiseControlTest:DEBUG] Current folder version is 1.  Last integrated folder version was 1.
[CruiseControlTest:INFO] [$/DotNet/4.0/TEA/Apps/CruiseControlTest] has not changed.
[CruiseControlTest:DEBUG] Unloading Client tree information.
[CruiseControlTest:DEBUG] Garbage collecting.
[CruiseControlTest:INFO] No modifications detected.
[CruiseControlTest:INFO] Building: Build (ForceBuild) triggered from BUILD1
[CruiseControlTest:DEBUG] Exception caught: Method not found: 'Boolean ThoughtWorks.CruiseControl.Core.Util.StringUtil.IsBlank(System.String)'.
[CruiseControlTest:INFO] Integration complete: Exception - 2/16/2010 2:53:29 PM
Any ideas?

mack0196
Posts: 3
Joined: Tue Feb 16, 2010 1:41 pm

Re: CCNET Source Get Fail

Post by mack0196 » Tue Feb 16, 2010 2:19 pm

I just setup ccnet 1.4.4.99 with the same config and the source-get worked as expected.

Are there plans for a ccnet 1.5 plugin?

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: CCNET Source Get Fail

Post by lbauer » Tue Feb 16, 2010 4:04 pm

Were you running CCNET 1.5 under the same user as you used with CCNET 1.4.4.99?

Try setting a different working directory, such as "C:\TEST" and give Everyone full control of the directory. Let me know if that works.
Linda Bauer
SourceGear
Technical Support Manager

mack0196
Posts: 3
Joined: Tue Feb 16, 2010 1:41 pm

Re: CCNET Source Get Fail

Post by mack0196 » Tue Feb 16, 2010 6:11 pm

I was using the same ccnet.config with the CCNET 1.4 server.

The existing SourceGear Fortress CCNET plugin did not work with CCNET 1.5...
Exception caught: Method not found: 'Boolean ThoughtWorks.CruiseControl.Core.Util.StringUtil.IsBlank(System.String)'.

Looks like the CCNET core no loger exposes the public method Boolean ThoughtWorks.CruiseControl.Core.Util.StringUtil.IsBlank(System.String).

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: CCNET Source Get Fail

Post by lbauer » Wed Feb 17, 2010 8:21 am

Thanks for the information. I've added feature request 15251 to support this new version.
Linda Bauer
SourceGear
Technical Support Manager

Scottie
Posts: 10
Joined: Tue Jan 20, 2004 7:30 pm

Re: CCNET Source Get Fail

Post by Scottie » Tue Feb 23, 2010 8:22 pm

This 'might' help when trying to track down the issue, or it might just add more confusion but I also get this exception:

System.MissingFieldException: Field not found: 'ThoughtWorks.CruiseControl.Core.Modification.ChangeNumber'.
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.FortressVaultSourceControl.GetModificationsFromHistoryItems(VaultHistoryItem[] vaultHistoryItems, Int64 currentFolderVersion, String folderPath, Int64 historySinceFolderVersion)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.FortressVaultSourceControl.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModificationsWithLogging(ISourceControl sc, IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)

at first I thought this exception occurred when there were modifications in the Vault Repository compared with doing a forced build with no modifications - but this isn't the case, there doesn't seem to be a lot of consistency as to which error I get, its just always on or the other.


Is there any word on a fix or possible workarounds for this error as I have it to and I'm not looking forward to having to rollback my ccnet installation.

Scottie
Posts: 10
Joined: Tue Jan 20, 2004 7:30 pm

Re: CCNET Source Get Fail

Post by Scottie » Tue Feb 23, 2010 8:37 pm

For anyone in a similar position who has to rollback their ccnet installation. The rollback to version 1.4.4.83 of ccnet was incredibly simple:
Stop ccnet service, stop IIS, copy backup over the Program Files (x86)\CruiseControl.NET folder, start ccnet service, start IIS and in my case, set the appropriate app pool back to Classic rather than Integrated.
Done in less than 2 mins.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: CCNET Source Get Fail

Post by lbauer » Wed Feb 24, 2010 8:38 am

We have a fix for this, but need someone willing to beta test.

If you're interested, I can send you a pre-release build. email support at sourcegear.com, Attn: Linda. Please include a link to this forum post.
Linda Bauer
SourceGear
Technical Support Manager

Scottie
Posts: 10
Joined: Tue Jan 20, 2004 7:30 pm

Re: CCNET Source Get Fail

Post by Scottie » Wed Feb 24, 2010 7:39 pm

Thnaks Linda. Email sent.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: CCNET Source Get Fail

Post by lbauer » Thu Feb 25, 2010 10:21 am

I've responded via email.
Linda Bauer
SourceGear
Technical Support Manager

rabitona
Posts: 1
Joined: Tue Mar 23, 2010 10:53 pm

Re: CCNET Source Get Fail

Post by rabitona » Tue Mar 23, 2010 11:04 pm

Hi Linda,

I've also sent an email, thanks.

gfrank
Posts: 1
Joined: Wed Apr 07, 2010 7:32 am

Re: CCNET Source Get Fail

Post by gfrank » Wed Apr 07, 2010 7:35 am

I have just upgraded to Vault 5.0.3 in hopes that the latest vault plugin for CCNet 1.5x would fix these issues, but apparently the fixes haven't made it into the plugin available for download. I've emailed to beta test as well.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: CCNET Source Get Fail

Post by lbauer » Wed Apr 07, 2010 10:01 am

I've emailed you a link to the pre-release plugin.
Linda Bauer
SourceGear
Technical Support Manager

klos
Posts: 2
Joined: Wed Jul 26, 2006 2:42 am
Contact:

Re: CCNET Source Get Fail

Post by klos » Wed Apr 28, 2010 9:58 am

Hello all,
I urgently need this beta plugin too.Recently I've migrated projects to CCNET 1.5 and got the same error:
System.MissingFieldException: Field not found: 'ThoughtWorks.CruiseControl.Core.Modification.ChangeNumber'.
Thanks!

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: CCNET Source Get Fail

Post by lbauer » Wed Apr 28, 2010 10:23 pm

I can send you a pre-release build. email support at sourcegear.com, Attn: Linda. Please include a link to this forum post.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply