TFS build
redredred
Posts: 9
Hi
Trying to setup a TFS to use the 'RedGate DLM Automation Build Plugin'. I have it added to the build step but getting an error:
2016-08-26T22:14:04.0938138Z Executing the powershell script: C:TfsDataAgentsAgent-Main asksRedgateSqlCiBuild1.0.21SqlCiTask.ps1
2016-08-26T22:14:04.2466899Z Entering script SqlCiTask.ps1
2016-08-26T22:14:18.6873313Z sqlCI.exe -- Red Gate's SQL Continuous Integration v2.1.33.387
2016-08-26T22:14:18.6902632Z Unexpected exception failed with error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
2016-08-26T22:14:18.7107924Z ##[error]SQL CI exitcode was 533. See console output for details.
I'm using a clean install of the AdventureWorks2014 DB which is in TFS via RedGate Source Control.
Please can you advise?
Thanks
Trying to setup a TFS to use the 'RedGate DLM Automation Build Plugin'. I have it added to the build step but getting an error:
2016-08-26T22:14:04.0938138Z Executing the powershell script: C:TfsDataAgentsAgent-Main asksRedgateSqlCiBuild1.0.21SqlCiTask.ps1
2016-08-26T22:14:04.2466899Z Entering script SqlCiTask.ps1
2016-08-26T22:14:18.6873313Z sqlCI.exe -- Red Gate's SQL Continuous Integration v2.1.33.387
2016-08-26T22:14:18.6902632Z Unexpected exception failed with error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
2016-08-26T22:14:18.7107924Z ##[error]SQL CI exitcode was 533. See console output for details.
I'm using a clean install of the AdventureWorks2014 DB which is in TFS via RedGate Source Control.
Please can you advise?
Thanks
Comments
I think this has to do with the scripts folder file path - please see this from the SQL Source Control Documentation, which points to this.
Kind regards,
Alex
Have you visited our Help Center?
Any ideas?
Thanks
2016-08-29T16:37:12.0328548Z ##[debug]nugetPackageVersionUseBuildNumber = true
2016-08-29T16:37:12.0688775Z ##[debug]Using SQL CI arguments BUILD /scriptsFolder="." /packageId="AW" /packageVersion="1.0.14" /outputFolder="C:TfsDataAgentsAgent-Main_work1s"
2016-08-29T16:37:33.2646491Z sqlCI.exe -- Red Gate's SQL Continuous Integration v2.1.33.387
2016-08-29T16:37:33.2675838Z Unexpected exception failed with error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
2016-08-29T16:37:33.2858436Z ##[error]System.Management.Automation.RuntimeException: SQL CI exitcode was 533. See console output for details. ---> System.Management.Automation.RuntimeException: SQL CI exitcode was 533. See console output for details.
2016-08-29T16:37:33.2863438Z ##[error] --- End of inner exception stack trace ---
2016-08-29T16:37:33.2868452Z ##[error] at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
2016-08-29T16:37:33.2873442Z ##[error] at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
2016-08-29T16:37:33.2878471Z ##[error] at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
2016-08-29T16:37:33.2880674Z ##[error] at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2016-08-29T16:37:33.2880674Z ##[error] at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2016-08-29T16:37:33.2885697Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken)
2016-08-29T16:37:33.2890699Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)
2016-08-29T16:37:33.3106942Z Finishing task: RedgateSqlCiBuild
2016-08-29T16:37:33.3116711Z ##[error]System.Exception: Task RedgateSqlCiBuild failed. This caused the job to fail. Look at the logs for the task for more details.
2016-08-29T16:37:33.3126494Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.Run(IJobContext jobContext, IJobRequest job, IJobExtension jobExtension, CancellationTokenSource tokenSource)
2016-08-29T16:37:33.3146036Z Entering OnFinalizeJob
2016-08-29T16:37:33.3146036Z Leaving OnFinalizeJob
Are you using VSTS or TFS 2015? If it's VSTS, is the build agent hosted or on-premsises?
Are you able to see if any long folder structures are getting created in C:TfsDataAgentsAgent-Main_work1s ?
Redgate Software
It is an on premise install of TFS 2015 (latest version from the MS site).
I can't see any long paths there and even tried setting the work directory to C:B which didn't seem to solve the issue?
Thanks
Once you've done that, try running the build again and posting the log that it outputs.
Redgate Software
The log above has that turned on, but I can post the lines of the log which were displayed before those above.
Thanks
I think this may have been caused by a temporary file somewhere in the %TMP%SQL CI directory that has exceeded the maximum path length. Do you have any database objects with long names? This can often come up when building scripts folders that contain tSQLt unit tests as they can often have long names.
Redgate Software
Thanks
Redgate Software
Thanks
2016-08-31T17:42:42.5228574Z Entering OnPrepareEnvironment
2
2016-08-31T17:42:42.5323633Z Primary repository: ADTest1
3
2016-08-31T17:42:42.5338642Z Calculating build folder hash key.
4
2016-08-31T17:42:42.5363666Z Loading tracking config if exists: C:BSourceRootMapping284ac3f9-07f7-4482-a406-f5860abfd8d51SourceFolder.json
5
2016-08-31T17:42:42.5373666Z Parsing tracking config file version 2 format.
6
2016-08-31T17:42:42.5493755Z Writing config to file: C:BSourceRootMapping284ac3f9-07f7-4482-a406-f5860abfd8d51SourceFolder.json
7
2016-08-31T17:42:42.5884015Z Checking if artifacts directory exists: C:B1a
8
2016-08-31T17:42:42.5889008Z Deleting artifacts directory.
9
2016-08-31T17:42:42.5949051Z Creating artifacts directory.
10
2016-08-31T17:42:42.5949051Z Checking if test results directory exists: C:B1TestResults
11
2016-08-31T17:42:42.5954059Z Deleting test results directory.
12
2016-08-31T17:42:42.5959054Z Creating test results directory.
13
2016-08-31T17:42:42.5964065Z Setting local variables.
14
2016-08-31T17:42:42.5969064Z Create the initial timeline records for the tasks
15
2016-08-31T17:42:42.5989080Z Preparing repositories
16
2016-08-31T17:42:42.5989080Z repo clean = False
17
2016-08-31T17:42:42.5994082Z Found 2 endpoints to consider
18
2016-08-31T17:42:42.6149184Z Found 1 repositories to sync
19
2016-08-31T17:42:42.6254261Z Starting: Get sources
20
2016-08-31T17:42:42.6284278Z build.fetchtags=false
21
2016-08-31T17:42:42.6329301Z Entering TfvcSourceProvider.PrepareRepositoryAsync
22
2016-08-31T17:42:42.6339307Z localPath=C:B1s
23
2016-08-31T17:42:42.6339307Z clean=False
24
2016-08-31T17:42:42.6349323Z sourceVersion=15
25
2016-08-31T17:42:42.6349323Z mappingJson={"mappings":[{"serverPath":"$/ADTest1","mappingType":"map","localPath":"\"},{"serverPath":"$/ADTest1/Drops","mappingType":"cloak","localPath":"\"}]}
26
2016-08-31T17:42:42.6364326Z Syncing repository: ADTest1 (TFVC)
27
2016-08-31T17:42:42.6369330Z workspaceName=ws_1_2
28
2016-08-31T17:42:43.3632305Z Workspace Name: ws_1_2;Build284ac3f9-07f7-4482-a406-f5860abfd8d5
29
2016-08-31T17:42:43.3842448Z tf get /version:15
30
2016-08-31T17:42:43.5133307Z Done syncing repository ADTest1 to version 15 (workspace version C15)
31
2016-08-31T17:42:43.5138312Z Leaving TfvcSourceProvider.PrepareRepositoryAsync
32
2016-08-31T17:42:43.5348443Z Leaving OnPrepareEnvironment
33
2016-08-31T17:42:43.6003977Z Running tasks
34
2016-08-31T17:42:43.6169089Z Starting task: Build AW
35
2016-08-31T17:42:43.6759491Z Executing the powershell script: C:TfsDataAgentsAgent-Main asksRedgateSqlCiBuild1.0.21SqlCiTask.ps1
36
2016-08-31T17:42:43.8340546Z Entering script SqlCiTask.ps1
37
2016-08-31T17:42:43.8370569Z ##[debug]dbFolder = RootFolder
38
2016-08-31T17:42:43.8375570Z ##[debug]subFolderPath = C:B1s
39
2016-08-31T17:42:43.8380560Z ##[debug]packageName = AW
40
2016-08-31T17:42:43.8385568Z ##[debug]tempServerTypeBuild = localDB
41
2016-08-31T17:42:43.8390582Z ##[debug]tempServerNameBuild =
42
2016-08-31T17:42:43.8390582Z ##[debug]tempDatabaseNameBuild =
43
2016-08-31T17:42:43.8395578Z ##[debug]authMethodBuild = sqlServerAuth
44
2016-08-31T17:42:43.8400574Z ##[debug]usernameBuild =
45
2016-08-31T17:42:43.8400574Z ##[debug]passwordBuild = *********
46
2016-08-31T17:42:43.8405575Z ##[debug]packageId =
47
2016-08-31T17:42:43.8410583Z ##[debug]tempServerType = localDB
48
2016-08-31T17:42:43.8410583Z ##[debug]tempServerName =
49
2016-08-31T17:42:43.8415591Z ##[debug]tempDatabaseName =
50
2016-08-31T17:42:43.8415591Z ##[debug]authMethod = sqlServerAuth
51
2016-08-31T17:42:43.8420593Z ##[debug]username =
52
2016-08-31T17:42:43.8420593Z ##[debug]password = *********
53
2016-08-31T17:42:43.8425595Z ##[debug]useSqlDataGenerator = false
54
2016-08-31T17:42:43.8430597Z ##[debug]autoSqlDataGenerator = true
55
2016-08-31T17:42:43.8435601Z ##[debug]runOnly =
56
2016-08-31T17:42:43.8435601Z ##[debug]packageIdPublish =
57
2016-08-31T17:42:43.8440600Z ##[debug]nugetFeedUrl =
58
2016-08-31T17:42:43.8440600Z ##[debug]nugetFeedApiKey =
59
2016-08-31T17:42:43.8445602Z ##[debug]packageIdSync =
60
2016-08-31T17:42:43.8450613Z ##[debug]targetServerName =
61
2016-08-31T17:42:43.8450613Z ##[debug]targetDatabaseName =
62
2016-08-31T17:42:43.8455618Z ##[debug]authMethodSync = sqlServerAuth
63
2016-08-31T17:42:43.8460613Z ##[debug]usernameSync =
64
2016-08-31T17:42:43.8460613Z ##[debug]passwordSync = *********
65
2016-08-31T17:42:43.8465624Z ##[debug]additionalParams =
66
2016-08-31T17:42:43.8465624Z ##[debug]nugetPackageVersion = 1.0
67
2016-08-31T17:42:43.8470626Z ##[debug]nugetPackageVersionUseBuildNumber = true
68
2016-08-31T17:42:43.8710777Z ##[debug]Using SQL CI arguments BUILD /scriptsFolder="." /packageId="AW" /packageVersion="1.0.19" /outputFolder="C:B1s"
69
2016-08-31T17:43:04.4341160Z sqlCI.exe -- Red Gate's SQL Continuous Integration v2.1.33.387
70
2016-08-31T17:43:04.4366175Z Unexpected exception failed with error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
71
2016-08-31T17:43:04.4541309Z ##[error]System.Management.Automation.RuntimeException: SQL CI exitcode was 533. See console output for details. ---> System.Management.Automation.RuntimeException: SQL CI exitcode was 533. See console output for details.
72
2016-08-31T17:43:04.4546307Z ##[error] --- End of inner exception stack trace ---
73
2016-08-31T17:43:04.4546307Z ##[error] at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
74
2016-08-31T17:43:04.4551312Z ##[error] at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
75
2016-08-31T17:43:04.4556308Z ##[error] at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
76
2016-08-31T17:43:04.4561316Z ##[error] at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
77
2016-08-31T17:43:04.4566315Z ##[error] at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
78
2016-08-31T17:43:04.4566315Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken)
79
2016-08-31T17:43:04.4571316Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)
80
2016-08-31T17:43:04.4886528Z Finishing task: RedgateSqlCiBuild
81
2016-08-31T17:43:04.4896537Z ##[error]System.Exception: Task RedgateSqlCiBuild failed. This caused the job to fail. Look at the logs for the task for more details.
82
2016-08-31T17:43:04.4901542Z ##[error] at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.Run(IJobContext jobContext, IJobRequest job, IJobExtension jobExtension, CancellationTokenSource tokenSource)
83
2016-08-31T17:43:04.4916554Z Entering OnFinalizeJob
84
2016-08-31T17:43:04.4926554Z Leaving OnFinalizeJob
Redgate Software
What worked for me was to shorten the names of all .sql files that were longer than 110 characters. (I didn't check if longer named would work, since I saw something on this forum elsewhere that mentioned 114 characters).
I used dir /s/b >dir.txt, then loaded that into Excel, and made a bunch of rename statements. Voila
PPS: I've long had paths/file names enabled in Windows 10 (as per here), but SC doesn't be to be manifested for that.