Team Foundation Build의 초기 구성 정의

Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Team Foundation Build에서 사용하는 프로젝트의 초기 빌드 권한을 사용자 지정할 수 있습니다. build.xml 플러그 인 파일은 동일한 프로세스 템플릿으로 만든 모든 프로젝트의 빌드 활동에 대한 보안 권한을 지정합니다. 다음 템플릿 파일이 프로젝트 데이터베이스에 업로드됩니다.

중요

TFS 2013 이상 버전의 경우 build.xml 플러그 인은 더 이상 빌드 템플릿 파일을 업로드하지 않습니다. 또한 TFS 2018 이상 버전의 경우 빌드 플러그 인을 사용하여 빌드 권한의 사용자 지정이 지원되지 않습니다. 대신 프로젝트 수준 및 컬렉션 수준에 대한 기본 사용 권한이 설정됩니다.
빌드 파이프라인(개체 수준)에 대한 보안 그룹입니다.

기본 프로세스 템플릿의 파일 이름, 폴더 및 플러그 인은 다음과 같습니다.

파일 이름: Build.xml
폴더 이름: 빌드 플러그 인 이름: Microsoft.ProjectCreationWizard.Build

참고

XML 파일과 폴더 이름은 변경할 수 있지만 플러그 인 이름은 변경할 수 없습니다. 시스템에는 클라이언트 쪽 플러그 인, 정책 또는 기타 수정 사항을 배포하기 위한 메커니즘이 포함되어 있지 않습니다. 이러한 종류의 기능을 배포하려면 고유한 배포 및 설치 프로그램을 사용해야 합니다.

Build.xml 파일에서 작업 및 해당 종속성을 하나 이상 지정합니다. TSF 플러그 인 파일은 특정 기본 보안 그룹에 할당된 권한을 지정합니다. 작업, taskXml종속성 요소에 대한 자세한 내용은 플러그 인을 처리하는 작업 정의작업 그룹 및 작업에 대한 종속성 정의를 참조하세요.

다음 코드는 모든 기본 프로세스 템플릿에 대해 정의된 기본 build.xml 파일을 나타냅니다.

<?xml version="1.0" encoding="utf-8"?>  
<tasks>  
  <task id="BuildTask" name="Add Build Permissions" plugin="Microsoft.ProjectCreationWizard.Build" completionMessage="Build tasks completed.">  
    <dependencies />  
    <taskXml>  
      <!-- Project-level groups -->  
      <Permission allow="ViewBuilds, ViewBuildDefinition" identity="[$$PROJECTNAME$$]\Readers" />  
      <Permission allow="EditBuildQuality, ViewBuilds, QueueBuilds, ViewBuildDefinition" identity="[$$PROJECTNAME$$]\Contributors" />  
      <Permission allow="DeleteBuilds, DestroyBuilds, EditBuildQuality, ManageBuildQualities, RetainIndefinitely, ViewBuilds, ManageBuildQueue, QueueBuilds, StopBuilds, DeleteBuildDefinition, EditBuildDefinition, ViewBuildDefinition, AdministerBuildPermissions" identity="[$$PROJECTNAME$$]\Build Administrators" />  
      <Permission allow="DeleteBuilds, DestroyBuilds, EditBuildQuality, ManageBuildQualities, RetainIndefinitely, ViewBuilds, ManageBuildQueue, QueueBuilds, StopBuilds, DeleteBuildDefinition, EditBuildDefinition, ViewBuildDefinition, AdministerBuildPermissions" identity="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" />   
      <!-- Collection-level groups -->  
      <Permission allow="EditBuildQuality, ManageBuildQueue, OverrideBuildCheckInValidation, QueueBuilds, UpdateBuildInformation, ViewBuildDefinition, ViewBuilds" identity="$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$" />  
      <Permission allow="ViewBuildDefinition, EditBuildDefinition, DeleteBuildDefinition, QueueBuilds, ManageBuildQueue, StopBuilds, ViewBuilds, EditBuildQuality, RetainIndefinitely, DeleteBuilds, ManageBuildQualities, DestroyBuilds, AdministerBuildPermissions" identity="$$PROJECTCOLLECTIONBUILDADMINSGROUP$$" />  
      <Permission allow="DeleteBuilds, DestroyBuilds, EditBuildQuality, ManageBuildQualities, RetainIndefinitely, ViewBuilds, ManageBuildQueue, QueueBuilds, StopBuilds, DeleteBuildDefinition, EditBuildDefinition, ViewBuildDefinition, AdministerBuildPermissions, OverrideBuildCheckInValidation" identity="$$PROJECTCOLLECTIONADMINGROUP$$" />  
    </taskXml>  
  </task>  
</tasks>