소개
Invoke-Build는 PowerShell 기반의 빌드 및 테스트 자동화 도구로, PowerShell v3.0+ 스크립트에서 정의된 작업을 호출합니다. 이 도구는 psake와 유사하지만 더 사용하기 쉽고 강력하며, 완전하고 버그가 없으며 테스트로 잘 커버되어 있습니다. 증분 작업, 지속적 빌드, 병렬 빌드, 테스트 배치 호출, 새로운 작업 클래스 정의 등을 지원하며, PowerShell Core를 통해 크로스플랫폼으로 동작합니다. VSCode 및 ISE와의 통합도 가능하며, 여러 PowerShell 팀 프로젝트에서 사용되고 있습니다.
상세정보
증분 작업 처리
입력과 출력이 효과적으로 처리되는 증분 작업을 지원하여, 변경된 파일만 처리함으로써 빌드 시간을 단축합니다.
지속적 빌드 및 복구
빌드가 중단된 경우에도 지속적 빌드 기능을 통해 이전 상태에서 작업을 재개할 수 있습니다.
병렬 빌드 실행
여러 워크스페이스에서 공통 통계를 유지하면서 병렬로 빌드를 실행하여 멀티코어 환경을 효율적으로 활용합니다.
테스트 배치 호출
작업으로 구성된 테스트를 배치로 호출하여 자동화된 테스트 파이프라인을 구축할 수 있습니다.
새 작업 클래스 정의
사용자는 빌드 스크립트 내에서 새로운 작업 클래스를 정의하여 재사용 가능한 자동화 로직을 만들 수 있습니다.
PowerShell 갤러리에서 모듈 설치
Invoke-Build는 PowerShell 갤러리에서 InvokeBuild 모듈로 제공됩니다. 다음 명령을 실행하여 설치할 수 있습니다:
Install-Module InvokeBuild
Chocolatey를 통한 설치
Chocolatey 패키지 관리자를 사용하는 경우, 다음 명령을 실행합니다:
choco install invoke-build
참고: Chocolatey 패키지는 해당 소유자가 유지 관리합니다.
Scoop을 통한 설치
Scoop을 사용하는 경우, 다음 명령을 실행합니다:
scoop install invoke-build
설치 후 스크립트가 다운로드되고 경로에 추가됩니다. 새로운 PowerShell 세션을 시작하여 경로 업데이트를 적용해야 할 수 있습니다.
NuGet을 통한 스크립트 설치
Invoke-Build는 NuGet에서 패키지로도 제공됩니다. 수동으로 다운로드한 후 zip으로 이름을 변경하고 압축을 해제한 뒤, tools 디렉터리를 InvokeBuild로 이름을 변경하여 경로에 추가하거나 PowerShell 모듈 디렉터리에 복제하여 사용할 수 있습니다.
.NET 도구로서 설치
NuGet에서 ib 패키지를 통해 dotnet 도구로 설치할 수 있습니다. 전역 도구로 설치하려면:
dotnet tool install –global ib
로컬 도구로 설치하려면 도구 매니페스트를 설정한 후:
dotnet new tool-manifest
dotnet tool install –local ib
기본 사용법/명령어
설치 후, 빌드 스크립트를 작성하고 Invoke-Build.ps1을 호출하여 작업을 실행할 수 있습니다. 도움말을 보려면 PowerShell에서 다음 명령을 실행합니다:
help Invoke-Build -full
내부 명령어에 대한 도움말을 보려면 먼저 엔진을 로드한 후 다음 명령을 사용합니다:
. Invoke-Build
task -full
exec -full
또한, 온라인 도움말은 다음에서 확인할 수 있습니다:
https://github.com/nightroman/Invoke-Build/blob/main/Docs/help/README.md
이런 경우에 유용합니다
PowerShell 기반 프로젝트에서 자동화된 빌드 및 테스트 프로세스를 구축하려는 개발자에게 유용합니다. 특히 증분 빌드, 병렬 처리, 지속적 통합 환경에서 작업 재개가 필요한 경우에 효과적으로 사용할 수 있습니다. VSCode 또는 ISE에서 작업 중인 스크립트에 직접 작업을 호출하여 개발 워크플로우를 간소화할 수 있습니다.
지원 환경·시스템 요구사항
PowerShell v3.0 이상이 필요하며, PowerShell Core를 통해 크로스플랫폼으로 동작합니다. Windows PowerShell뿐만 아니라 macOS 및 Linux에서도 사용 가능합니다. 일부 스크립트나 헬퍼 도구는 플랫폼에 따라 다르게 동작할 수 있습니다(예: ib.cmd는 Windows, ib.sh는 Linux/macOS).
최신 버전·업데이트
현재 버전은 5.14.23이며, 최신 변경 사항은 릴리스 노트에서 확인할 수 있습니다. 업데이트는 PowerShell 갤러리, NuGet, Scoop, 또는 Chocolatey 채널을 통해 동일한 설치 명령으로 수행할 수 있습니다.
제한 사항·확인 사항
도움말을 사용할 때, 스크립트가 경로에 있지 않은 경우 전체 경로를 지정해야 합니다(예: help pathtoInvoke-Build.ps1). 이는 알려진 문제(#2899)와 관련이 있습니다. 또한, 일부 내부 명령어에 대한 도움말을 보려면 먼저 엔진을 로드(. Invoke-Build)한 후 help 명령을 사용해야 합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


