복잡한 CI/CD 파이프라인을 구축할 때 자주 사용되는 GitHub 액션(GitHub Actions)의 스크립팅 방식에 새로운 변화가 찾아왔습니다. 기존에는 YAML 파일 내부에 셸 스크립트를 작성하는 방식이 주로 사용되었는데, 이는 복잡한 로직을 구현할수록 타입 안정성 부족, 테스트의 어려움, 그리고 수많은 버그를 유발하는 주범으로 지적되어 왔습니다. 이러한 문제점을 해결하기 위해 '할리우드(Hollywood)'라는 새로운 도구가 등장했습니다. 할리우드는 개발자가 GitHub 액션의 로직을 타입스크립트(TypeScript)로 작성하고 로컬에서 테스트한 후, 일반 GitHub 액션 파일로 변환하여 배포할 수 있도록 돕습니다.
할리우드는 GitHub 액션의 오케스트레이션(orchestration) 기능은 그대로 활용하면서, 실제 프로그래밍 로직은 타입스크립트로 옮겨 놓는다는 철학을 가지고 있습니다. 기존 방식은 셸 스크립트가 YAML 안에 숨겨져 있어 타입 검사가 불가능하고, 인용 부호 오류나 숨겨진 입력 강제 변환 등으로 인해 디버깅이 매우 어려웠습니다. 반면 할리우드는 타입스크립트의 강력한 타입 시스템을 활용하여 이러한 문제를 사전에 방지하고, 로컬에서 유닛 테스트(unit test)를 통해 스크립트의 신뢰성을 높일 수 있습니다. 예를 들어, 컨테이너 이미지를 빌드하고 푸시하는 복잡한 과정도 타입스크립트의 명확한 입력 정의와 함께 훨씬 깔끔하게 작성하고 테스트할 수 있습니다. 할리우드는 GitHub의 공식 액션 툴킷(action toolkit)을 사용하여 자바스크립트(JavaScript) 액션을 직접 실행하며, 최종적으로는 `action.yml` 파일과 노드(Node) 엔트리포인트(entrypoint)를 가리키는 얇은 어댑터(adapter)를 생성합니다.
이러한 접근 방식은 개발자들이 CI/CD 워크플로우를 더욱 안정적이고 효율적으로 관리할 수 있게 해줍니다. 특히 대규모 프로젝트나 복잡한 배포 로직을 다루는 팀에게는 개발 생산성 향상과 버그 감소에 크게 기여할 수 있습니다. YAML은 오케스트레이션에 집중하고, 타입스크립트는 프로그래밍 로직에 집중함으로써 각 도구의 장점을 최대한 살리는 전략입니다. 이는 단순히 스크립트 언어를 바꾸는 것을 넘어, CI/CD 개발의 패러다임을 개선하여 더 견고하고 유지보수하기 쉬운 시스템을 구축하는 데 중요한 역할을 할 것으로 기대됩니다. AI 시대에 맞춰 AI 친화적인 문서화와 에이전트(agent) 컨텍스트(context)를 제공하는 점도 주목할 만합니다.