Using git commands in a TeamCity Build Step

前端 未结 2 1763
眼角桃花
眼角桃花 2020-12-15 03:12

One of my TeamCity v7.0 build projects relies on using a diff between the current development branch and the master branch to determine what needs to be run. I\'ve written

相关标签:
2条回答
  • 2020-12-15 03:46

    @Mike Two's answer is correct, one needs to configure the VCS root to use Checkout mode Automatically on Agent -not- on the server. The TC docs do not mention that this required setting is hidden by default as 'advanced'. So here is a picture of what to look for.

    Advanced Settings

    FYI, My specific VS2013 Solution step error was from MSBuild, as below. I am using the latest TeamCity Enterprise 9.0 EAP (build 31963). [PreBuildEvent] Exec [14:21:55][Exec] git rev-parse --short=9 HEAD > "C:\TeamCity\buildAgent\work\e5e910561e800525\MYPROJECT\bin\Debug\version.txt" [14:21:55][Exec] fatal: Not a git repository (or any of the parent directories): .git [14:21:55][Exec] C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1131, 5): error MSB3073: The command "git rev-parse --short=9 HEAD > "C:\TeamCity\buildAgent\work\e5e910561e800525\Higgens\bin\Debug\version.txt"" exited with code 128. [14:21:55]

    //edit; I didn't know how to add this to a comment.

    0 讨论(0)
  • 2020-12-15 03:55

    Try changing the VCS checkout mode to "Always checkout files on agent" as documented here. That should give the build script access to the .git folder.

    0 讨论(0)
提交回复
热议问题