0

My scenario is as follows:

  1. Developers check-in SQL changes to directory ClientDB
  2. A dedicated build wakes up, extracts the metadata from the checked-in files, processes it and checks the result in into a sibling directory ClientMetadata

(Developers are not allowed to check-in under ClientMetadata)

The annoying side effect, is that because the dedicated build is a CI build it wakes up twice:

  1. Once for the changes in ClientDB, which makes it update ClientMetadata
  2. Second time, because of its own changes in the ClientMetadata - after all, this directory appears as an Active directory in the Source Settings section of the build:

enter image description here

Ideally, I would like the ClientMetadata directory to be available in the workspace, but I do not want changes there to trigger the build.

Is it possible?

Pero P.
  • 24,036
  • 7
  • 60
  • 81
mark
  • 53,726
  • 70
  • 260
  • 529

3 Answers3

2

If the 2nd checkin from the build is done with a checkin comment that has the text ***NO_CI*** at the end, the continuous integration trigger will be suppressed.

It's a hack, but it's how gated checkins work OOTB with TFS.

What does ***NO_CI*** stand for?

Pero P.
  • 24,036
  • 7
  • 60
  • 81
  • The Gated Check-In is of no concern here, you probably meant CI build instead. I will test you proposal. – mark Dec 08 '17 at 03:49
  • I know, I was just pointing out that this "feature" is there to support gated checkins, but you can likely utilize it. – Pero P. Dec 08 '17 at 17:04
0

Not with XAML build. It's absolutely possible in the build system introduced in TFS 2015.

Daniel Mann
  • 53,152
  • 13
  • 97
  • 112
0

When you select this trigger (CI) whenever someone checks in code, the build will run.

Actually check in files to source control during a build pipeline is not a recommended suggestion.

If you don't want to cloaked the ClientMetadata folder and still want this be pulled down on build agent during get source. Please try below workaround:

You could remove the active status for this folder and add a customize activity to only get files from TFS server path($/../../ClientMetadata) to the agent $(BuildDir).

PatrickLu-MSFT
  • 47,272
  • 4
  • 29
  • 59