피드로 돌아가기
Node.js 10.20.1 (LTS)
Node.js BlogNode.js Blog
DevOps

Node.js 팀이 빌드 프로세스 오류로 인한 v10.20.0의 소스·헤더 불일치를 v10.20.1 재릴리스로 해결

Node.js 10.20.1 (LTS)

2020년 4월 12일3beginner

Context

Node.js 10.20.0 릴리스 과정에서 소스 및 헤더 tarball이 최종 릴리스 커밋과 일치하지 않는 오류가 발생했다. 특히 네이티브 add-on을 사용하거나 소스에서 Node.js를 컴파일하는 애플리케이션에서 문제가 발생할 위험이 있었다.

Technical Solution

  • 릴리스 프로세스 검증 강화: 소스·헤더 tarball과 최종 릴리스 커밋의 일치성 확인 절차 추가
  • 재릴리스 배포: v10.20.0 대신 올바른 소스를 포함한 v10.20.1을 모든 플랫폼(Windows 32/64-bit, macOS, Linux x64/PPC LE/s390x, AIX, SmartOS, ARMv6/v7/v8)에 배포
  • 바이너리 무결성 검증: SHA256 해시 제공으로 다운로드한 각 아티팩트의 무결성 확인 가능하게 구현
  • PGP 서명 제공: 릴리스 패키지의 진위성 검증을 위한 암호화 서명 포함

Impact

정량적 수치 미포함

Key Takeaway

릴리스 프로세스에서 바이너리 생성에 사용된 소스 코드의 정확한 추적이 네이티브 add-on 호환성을 보장하는 필수 요소이다. 배포 단계마다 암호화 검증(해시·서명)을 강제하면 사용자가 신뢰할 수 있는 소프트웨어를 획득할 수 있다.


네이티브 모듈이나 소스 컴파일을 포함한 Node.js 기반 애플리케이션을 배포할 때는 공식 바이너리와 소스 tarball의 SHA256 해시를 비교하고 PGP 서명을 검증해야 한다. 특히 LTS 버전 전환 시 릴리스 노트에서 재릴리스 권고사항을 확인하면 호환성 문제로 인한 런타임 오류를 사전에 방지할 수 있다.

원문 읽기