Teamcity build information error when no VCS

Just discovered something that I dont think is completly obvious or could be handled a bit better.

If run the Build information runner for teamcity and you dont have a VCS root defined you will get the following

Step 1/2: OctopusDeploy: Build Information (1s)
[16:30:50]	[Step 1/2] Error processing comment messages java.lang.NullPointerException
[16:30:50]	[Step 1/2] java.lang.NullPointerException
	at octopus.teamcity.agent.OctopusBuildProcess.startOcto(OctopusBuildProcess.java:87)
	at octopus.teamcity.agent.OctopusBuildProcess.start(OctopusBuildProcess.java:54)
	at jetbrains.buildServer.agent.impl.buildStages.runnerStages.start.CallRunnerStage.doBuildStage(CallRunnerStage.java:60)
	at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor$1.callStage(RunnerStagesExecutor.java:27)
	at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor$1.callStage(RunnerStagesExecutor.java:18)
	at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:76)
	at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:35)
	at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor.doStages(RunnerStagesExecutor.java:18)
	at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.callRunnerStages(RunnerContextExecutor.java:43)
	at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.StepExecutor.processNextStep(StepExecutor.java:25)
	at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeRunnerStep(ForEachBuildRunnerStage.java:139)
	at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.runStep(ForEachBuildRunnerStage.java:124)
	at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeBuildRunners(ForEachBuildRunnerStage.java:84)
	at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.doBuildStage(ForEachBuildRunnerStage.java:45)
	at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:33)
	at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:24)
	at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:76)
	at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:35)
	at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor.doStages(BuildStagesExecutor.java:24)
	at jetbrains.buildServer.agent.impl.BuildRunActionImpl.doStages(BuildRunActionImpl.java:81)
	at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:57)
	at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:333)
	at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$200(BuildAgentImpl.java:58)
	at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:288)
	at java.lang.Thread.run(Thread.java:748)
[16:30:50]	[Step 1/2] Failed to start build runner 'octopus.metadata'
[16:30:50]	[Step 1/2] Step OctopusDeploy: Build Information failed with unexpected error

It’s really not obvious whats going on here, and the documentation I don’t think metions having a VCS root defined (although thinking about it its obvious it would be required)

Would be nice to check for the existence of a VCS root and error accordingly if there isnt one

Hi Dan,

Thanks for reaching out and bringing this to our attention!

I agree that we could definitely handle this better and I’ve raised this with the engineers after reproducing it on my end. It seems like this issue was introduced in the latest version of the plugin, and the old behaviour was to allow the VCS root to be null!

I’ve created a Github Issue here, if you would like to keep track of it’s progress, otherwise let me know if you have any questions.

Thanks again for raising this.

Happy Deployments!

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.