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.
  • 25,813
  • 9
  • 61
  • 85
mark
  • 59,016
  • 79
  • 296
  • 580

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.
  • 25,813
  • 9
  • 61
  • 85
  • 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
  • 57,011
  • 13
  • 100
  • 120
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
  • 49,478
  • 5
  • 35
  • 62