Team Foundation 백그라운드 작업 에이전트

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Visual Studio Team Foundation 백그라운드 작업 에이전트 서비스는 Azure DevOps에 대한 웹 서비스 및 작업에 대한 일반적인 예약 메커니즘을 제공합니다. 이 Windows 서비스는 새 프로젝트 마법사 및 프로젝트 컬렉션 만들기 마법사와 같은 다양한 마법사에서 생성한 작업을 실행하는 데도 사용됩니다. 서비스는 TFSService라고 하는 Azure DevOps Server 서비스 계정을 사용합니다. 서비스는 Azure DevOps의 논리 애플리케이션 계층에서 웹 서비스 또는 웹 애플리케이션을 실행하는 모든 서버에서 실행됩니다. 올바른 작동을 위해서는 수행할 작업에 필요한 권한이 Team Foundation 백그라운드 작업 에이전트 서비스의 서비스 계정에 있어야 합니다.

일부 서비스에는 정기적으로 발생하는 태스크가 있습니다. 예를 들어, 관리자는 매일 밤마다 빌드 작업이 수행되도록 예약할 수 있습니다. 이를 위해서는 빌드 서비스에서 등록 데이터베이스에 자동으로 예약된 이벤트를 설정할 수 있어야 합니다. Team Foundation 백그라운드 작업 에이전트 서비스는 Azure DevOps를 실행하는 서버에서 반복 작업을 예약하는 단일 Windows 기반 서비스를 제공합니다. 서비스는 등록 데이터베이스를 통해 실행되고, 예약된 이벤트가 있는 모든 Azure DevOps Server 웹 서비스를 식별하고, 이러한 작업을 예약합니다.

인스턴스

Azure DevOps용 애플리케이션 계층 서버에서 Team Foundation 백그라운드 작업 에이전트 서비스의 instance 하나만 실행해야 합니다. 기본적으로 서비스는 Azure DevOps Server 설치할 때 지정한 서비스 계정으로 실행됩니다. 응용 프로그램 계층 서버에서 이 서비스의 상태를 보려면 서비스를 열고 해당 서비스를 찾습니다.

사용 권한

Team Foundation 백그라운드 작업 에이전트 서비스는 Azure DevOps Server TFSService와 동일한 서비스 계정을 사용합니다. 올바른 작동을 위해서는 이 계정에 다음 권한이 있어야 합니다.

  • 서비스로 로그온
  • Azure DevOps Server 사용하는 SharePoint 웹 애플리케이션에 대한 팜 관리자 그룹
  • TFSExecRole 또는 Azure DevOps Server 사용하는 모든 데이터베이스에 대해 다음 중 둘 다:
    • db_owner
    • db_create

자세한 내용은 Azure DevOps Server 서비스 계정 및 종속성을 참조하세요.

가정 및 제한

Team Foundation 백그라운드 작업 에이전트 서비스는 모든 응용 프로그램 계층 서버에서 계속 실행됩니다. 시스템을 복구 중일 때를 제외하고는 관리자가 이 서비스를 직접 중지하거나 시작할 필요는 없습니다. 예를 들어 데이터베이스를 복원하려면 먼저 이 서비스를 중지해야 합니다. 서버가 다시 시작되면 서비스도 자동으로 다시 시작됩니다.

관리자는 Team Foundation 백그라운드 작업 에이전트 서비스를 직접 구성하지 않습니다. 예약해야 하는 작업은 Team Foundation 빌드와 같은 Team Foundation의 개별 구성 요소에서 직접 구성됩니다. 이벤트가 추가되거나 삭제되면 서비스에서는 등록 데이터베이스에 예약된 작업을 자동으로 다시 구성합니다.

Team Foundation 백그라운드 작업 에이전트 서비스는 해당 오류가 해결되고 성공 메시지가 이벤트 로그에 기록되거나 서비스가 수동으로 다시 시작될 때까지 지정된 오류의 instance 하나만 기록합니다. 이벤트 로그에서 해당 오류 메시지를 모니터링하려면 먼저 서비스를 중지한 다음 다시 시작해야 합니다.

Team Foundation 백그라운드 작업 에이전트 서비스는 모든 용도에 사용할 수 있도록 설계된 만능 예약 메커니즘이 아닙니다. 이 작업 스케줄러에서는 요일, 시간 및 분 이상의 세부적인 예약 기능은 제공하지 않습니다. 대부분의 관리자는 이 세분성 수준을 초과하는 작업을 예약할 필요가 없습니다.