Dagger라는 CI/CD 파이프라인 프로젝트 | 커리어리

Dagger라는 CI/CD 파이프라인 프로젝트가 공개되었습니다. Dagger는 Docker를 만들었던 Solomon Hykes가 Docker 초기 멤버와 같이 작년부터 만든 프로젝트입니다. Docker에서 물러나기 전 후반기에 좀 힘들었는지 좀 지쳤던 얘기를 하면서 작년에 이제 애도 좀 커서 다시 재미난 프로젝트를 해보고 싶다면 트위터에 올리고 private으로 일부 사람들을 초대해서 진행하던 프로젝트입니다. 회사가 성공했다고 보긴 복잡한 상황이지만 인프라와 배포의 패러다임을 바꾼 Docker를 만든 Solomon이기에 아무래도 다음 프로젝트도 관심이 가고 최근에 배포를 만들고 있어서인지 새 프로젝트가 CI/CD 프로젝트라는 것도 흥미로웠습니다. 아직 자세히 살펴보진 못했지만 조만간 테스트를 해봐야 할 것 같습니다. Dagger는 빌드 아티팩트 툴킷인 BuildKit과 동적 configuration 언어인 Cue를 이용해서 CI/CD 파이프라인을 제공하는 프로젝트입니다. Dagger의 컴포넌트를 레고처럼 조립해서 원하는 CI/CD 파이프라인을 만들 수 있고 이를 소프트웨어로 다루어서 파이프라인을 지속적으로 개선해서 복잡한 요구사항을 대응할 수 있다고 합니다. 특정 러너에 의존적이지 않고 로컬에서도 실행해서 테스트하고 디버깅할 수 있고 이를 GitHub Actions나 Jenkins등 어떤 CI 시스템에서도 실행할 수 있다는 점이 흥미로워 보입니다.

Introducing Dagger: a new way to create CI/CD pipelines

Dagger

2022년 4월 12일 오후 3:44

댓글 0

함께 보면 더 좋은

EdgeDB라는 회사에서 Node.js 클라이언트를 제공하고 있었는데 이를 Deno까지 지원하기 위해서 취한 방법을 설명한 글입니다. 저도 최근에 Deno에 관심을 가지고 있어서 Node.js와의 차이점도 이해할 수 있습니다. Deno용으로 따로 만들어서 관리하고 싶지 않았기 때문에 기존 Node.js 클라이언트를 최소한의 리팩토링만 하고 이를 Deno와 호환될 수 있게 Denoify했습니다. 다행히 원래도 TypeScript로 작성했기 때문에 ESM을 지원하는 Deno를 위해 ESM으로 바꿔줄 필요는 없었고 서드파티 의존성도 없었기 때문에 다른 의존성의 호환성을 확인할 필요가 없었습니다. Node.js의 표준 라이브러리는 Deno 용으로 바꾸어주어야 했기 때문에 표준 라이브러리의 의존성은 하나의 파일로 모아서 어댑터로 만들고 Denoify할 때 이를 Deno 용으로 교체해주어 다른 곳에서는 수정이 필요없도록 했고 일부 파일은 배포할 때 CI에서 Deno와 호환되도록 변환해 주는 스크립트가 동작하도록 해서 하나의 코드로 Node와 Deno를 지원할 수 있게 했다고 합니다.

How we converted our Node.js library to Deno (using Deno) | EdgeDB Blog

Edgedb

추천 프로필

현직자에게 업계 주요 소식을 받아보세요.

현직자들의 '진짜 인사이트'가 담긴 업계 주요 소식을 받아보세요.

커리어리 | 일잘러들의 커리어 SNS