원문 캡처 · github.com
원문 캡처 · github.com

Dagger는 소프트웨어 빌드·테스트·배포를 자동화하는 플랫폼이다. 로컬 컴퓨터와 CI 서버, 클라우드에서 실행할 수 있으며, 프로젝트는 로컬과 CI에서 동작이 동일하다고 설명한다.

설치 명령은 다음과 같다.

bash
brew install dagger/tap/dagger

Dagger는 컨테이너와 파일 시스템, 비밀 정보, Git 저장소 등을 조작하는 언어 간 공통 API를 제공한다. Go, Python, TypeScript, PHP, Java, .NET, Elixir, Rust용 SDK가 있으며, 프로젝트는 각 SDK가 API 스키마에서 생성돼 타입 안정성과 편집기 지원을 제공한다고 설명한다.

각 작업은 입력에 따라 실행되고, 파일이 바뀌면 영향을 받는 작업만 다시 실행하도록 설계됐다. 캐싱은 로컬 실행과 CI에서 자동으로 작동한다. 작업마다 OpenTelemetry 추적 정보를 생성하며, CLI의 실시간 터미널 화면에서 확인하거나 Jaeger, Honeycomb 등 OpenTelemetry 호환 시스템으로 내보낼 수 있다.

필요한 조건은 Linux 컨테이너 런타임이다. Linux에서는 네이티브로 실행하고, macOS와 Windows에서는 Docker Desktop 같은 제품을 이용할 수 있다. 프로젝트는 Docker 같은 컨테이너 런타임만 의존성으로 필요하다고 밝힌다.

문서와 빠른 시작 안내에서 사용 방법을 확인할 수 있다. 기여 방법은 CONTRIBUTING.md에 안내돼 있다.