기능 동결 또는 영구 동결이라고도 하는 코드 동결(code freeze)은 소프트웨어 프로젝트에 새로운 코드 변경을 도입할 수 없는 기간을 말합니다. 코드 동결의 목적은 주요 릴리스 또는 기타 주요 시점에 대비하여 코드 베이스를 안정화하는 것입니다.
코드 동결 중에 개발자는 일반적으로 새로운 코드 변경을 커밋하거나 코드 베이스를 수정할 수 없습니다. 이를 통해 프로젝트 팀은 기존 코드의 테스트와 디버그에 집중하면서, 소프트웨어가 안정적이고 릴리스 준비가 되었음을 확인할 수 있습니다.
코드 동결은 일반적으로 프로덕션 릴리스를 준비하거나 데모 또는 프레젠테이션을 준비할 때와 같이 개발 프로세스의 주요 지점에서 이루어집니다. 이 작업은 특정 기간 동안 지속되거나 특정한 목표점에 도달할 때까지 이어질 수 있습니다.
지속적 배포는 변경 사항을 작은 단위로 프로덕션에 지속해서 자동 배포할 수 있도록 하여 코드 동결의 필요성을 줄일 수 있습니다. 그러나 주요 릴리스 전에 보다 포괄적인 테스트와 안정화 기간이 필요한 상황에서는 코드 동결이 계속 사용될 수 있습니다.