소개
Azure Pipelines Agent는 마이크로소프트에서 제공하는 자체 호스팅 빌드 에이전트로, Azure DevOps Services 및 Azure DevOps Server에서 파이프라인을 실행하는 데 사용됩니다. Windows 운영체제에서 .NET, PowerShell, Visual Studio 빌드 도구 등을 활용하여 코드 빌드, 테스트, 배포 작업을 수행합니다. 이 에이전트는 사용자가 직접 기기에 설치하고 구성하여 프라이빗 또는 온프레미스 환경에서 CI/CD 파이프라인을 운영할 수 있게 합니다. 버전 4.274.1은 Windows 10 및 Windows 11을 포함한 다양한 클라이언트 및 서버 OS를 지원하며, 자체 .NET 런타임을 포함해 별도의 .NET 설치가 필요하지 않습니다.
상세정보
빌드 및 배포 작업 실행
에이전트는 Azure Pipelines에서 다운로드한 요약서(YAML 또는 클래식)를 기반으로 MSBuild, npm, Maven, Docker 등 다양한 도구를 사용하여 코드를 컴파일하고 테스트하며 아티팩트를 생성합니다.
다중 플랫폼 지원
Windows x64, x86 및 ARM64 아키텍처를 지원하며, Windows 10, Windows 11 및 Windows Server 2012 이상에서 실행할 수 있습니다. ARM64 버전은 Windows 11에서 일반 제공됩니다.
자체 .NET 포함
에이전트는 자체 버전의 .NET 런타임을 포함하고 있어, 호스트 머신에 .NET이 사전 설치되어 있지 않아도 정상적으로 작동합니다.
다운로드 및 설치 방법
설치는 다음 단계를 따릅니다:
- Azure DevOps 조직에 로그인하고 Organization settings > Agent pools로 이동합니다.
- New agent를 클릭하고 Windows를 선택합니다.
- 사용 중인 Windows의 프로세서 아키텍처(x64, x86, ARM64)를 확인하고 해당하는 에이전트 패키지를 다운로드합니다.
- 다운로드한 ZIP 파일을 압축 해제하고, 경로에 공백이 없는 폴더(예: C:agents)에 추출합니다.
- 관리자 권한으로 PowerShell 창을 열고 추출한 폴더로 이동한 후
.config.cmd를 실행합니다. - 서버 URL(Azure DevOps Services의 경우
https://dev.azure.com/{your-organization}), 인증 유형(개인 액세스 토큰 권장), 에이전트 풀, 에이전트 이름을 입력합니다. - 구성이 완료되면 에이전트를 서비스로 실행하도록 설정할 수 있습니다.
기본 사용법
에이전트를 시작하는 방법은 실행 모드에 따라 다릅니다:
대화형 모드로 실행
에이전트 폴더에서 .run.cmd를 실행하면 에이전트가 시작되고, Ctrl+C를 눌러 중지할 수 있습니다. 다시 시작하려면 run.cmd를 다시 실행합니다.
서비스 모드로 실행 (권장)
에이전트를 서비스로 구성했다면, services.msc에서 Azure Pipelines Agent (에이전트 이름) 또는 vstsagent.(조직명).(에이전트명) 서비스를 찾아 시작, 중지, 재시작할 수 있습니다.
한 번만 작업 실행
에이전트가 하나의 작업만 처리하고 종료되도록 하려면 .run.cmd --once 명령을 사용합니다. 이는 Docker나 Azure Container Instances와 같은 컨테이너 환경에서 유용합니다.
지원 환경 및 시스템 요구사항
Azure Pipelines Agent는 다음 Windows 버전에서 지원됩니다:
- 클라이언트 OS: Windows 10 (21H2, 1809, 1607), Windows 11 (23H2, 22H2, 21H2, 26H1, 25H2, 24H2)
- 서버 OS: Windows Server 2012 이상
- 추가 지원: Windows 7 SP1 ESU, Windows 8.1
에이전트는 자체 .NET을 포함하므로 .NET 사전 설치가 필요하지 않습니다. 그러나 다음 구성 요소는 권장 또는 필수입니다:
- PowerShell 3.0 이상
- Subversion 클라이언트 (Subversion 저장소에서 빌드 시 필수)
- Visual Studio 빌드 도구 (2015 이상, 권장)
에이전트 폴더(C:agents 등)는 보안상의 이유로 관리자만 수정할 수 있도록 설정하는 것이 좋습니다. 또한, mintty 기반 쉘(git-bash 등)은 에이전트 구성과 호환되지 않을 수 있으니 사용을 피해야 합니다.
제한 사항 및 확인 사항
에이전트를 사용할 때 다음 사항을 반드시 확인해야 합니다:
- 에이전트를 구성하는 사용자는 풀 관리자 권한이 필요하지만, 에이전트를 실행하는 사용자는 그러한 권한이 필요하지 않습니다.
- 에이전트 폴더에는 로그, 아티팩트 및 인증 정보와 같은 민감한 파일이 포함될 수 있으므로, 해당 폴더에 대한 접근은 에이전트를 실행하는 사용자와 관리자만 허용해야 합니다.
- 에이전트는 외부 소스로부터 코드를 다운로드하여 실행하기 때문에 원격 코드 실행(RCE)의 잠재적 표적이 될 수 있으므로, 최소 권한 원칙에 따라 사용자 및 머신 권한을 설정해야 합니다.
- 에이전트를 서비스로 실행할 때, 실행 계정의 사용자 이름은 20자를 초과해서는 안 됩니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


