트렁크 기반 개발(Trunk-based development) 개념 정리

2022. 12. 14. 09:22DevOps

트렁크 기반 개발은 코드 변경 사항을 "트렁크"(혹은 main)라고도 하는 프로젝트 코드베이스의 주요 분기에 직접 커밋하는 것과 관련된 소프트웨어 개발 방법이다. 이 접근 방식은 개발자가 작업 중인 각 기능 또는 버그 수정에 대해 별도의 분기를 만드는 기능 분기와 같은 다른 분기 모델(Git Flow 등)과 대조된다.

트렁크 기반 개발의 주요 이점 중 하나는 그것이 제공하는 단순성이다.

여러 브랜치를 관리할 필요 없이 개발자는 트렁크만 걱정하면 된다. 이렇게 하면 프로젝트의 코드베이스를 더 쉽게 이해할 수 있고 개발자가 코드 변경에 대해 더 쉽게 협업할 수 있다.

트렁크 기반 개발의 또 다른 이점은 코드 변경을 더 자주 배포할 수 있다는 것이다.

개발자는 코드 변경 사항을 트렁크에 직접 커밋하므로 이러한 변경 사항을 프로덕션에 배포하는 것이 더 쉽다. 이는 지속적인 제공 또는 지속적인 배포 사례에 의존하는 조직에 특히 유용할 수 있다.

그러나 트렁크 기반 개발에 문제가 없는 것은 아니다.

한 가지 잠재적인 단점은 트렁크가 파손될 위험이 있다는 것이다. 코드 변경으로 인해 트렁크에 문제가 발생하면 다른 문제를 일으키지 않고 해당 변경 사항을 롤백하기 어려울 수 있다. 이는 자동화된 테스트 및 코드 검토 프로세스를 사용하여 완화할 수 있으며, 트렁크에 문제가 발생하기 전에 문제를 파악하는 데 도움이 될 수 있다.

트렁크 기반 개발이 모든 프로젝트나 조직에 적합하지는 않다.

오래 지속되는 분기 또는 복잡한 분기 모델이 있는 프로젝트에 가장 적합하지 않을 수 있다. 트렁크 손상 위험을 최소화하기 위해 강력한 자동 테스트 및 코드 검토 프로세스를 마련하는 것도 중요하다.


전반적으로 트렁크 기반 개발은 코드베이스를 단순화하고 코드 변경을 더 자주 배포하려는 조직에 유용한 접근 방식이 될 수 있다. 이 접근 방식을 채택하기로 결정하고 이를 지원하는 데 필요한 프로세스를 마련하기 전에 장단점을 신중하게 고려하는 것이 중요할 것이다.

 

반응형