태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

빌드가 먼저일까? 베이스라인 설정이 먼저일까?

2008/11/12 17:09 by 전규현
 All of Software 블로그를 RSS Feed에 등록을 해 놓으시면 편리하게 받아보실 수 있습니다. rss RSS Feed


빌드와 베이스라인 순서에 대해서 이슈가 있다는 글을 보고 아래 글을 작성합니다.

몇몇 빌드관련 솔루션들이 빌드를 해서 성공을 하면 베이스라인(Tag, Label)을 설정하는 것이 있더군요.
이는 원칙에 어긋나는 겁니다.

원칙은 베이스라인을 설정한 후에 해당 베이스라인을 가지고 빌드를 하는 것입니다. 작은 소프트웨어는 사실 이러한 것이 거의 문제가 되지 않습니다. 하지만 대규모 프로젝트는 빌드에 24시간이 넘게 걸리는 것도 있습니다.
Windows NT 개발팀은 Daily Build가 48시간이 걸려서 몇대의 장비가 교대로 Daily Build를 수행했다고 할 정도 입니다.
이 경우 빌드가 끝나고 나서 베이스라인을 설정하려고 하면 이미 소스코드는 엄청나게 바뀌어 있게 됩니다.

베이스라인 설정, 태깅 한 후에 태그를 가져와서 빌드를 하도록 빌드 스크립트를 만들면 됩니다.
저작자 표시 비영리 변경 금지

전규현 기반시스템/빌드/릴리즈 ,

Trackback Address: http://allofsoftware.net/trackback/14 관련글 쓰기
  1. 안녕하세요? 올리신 글 잘 읽었습니다. 그런데 얼핏 읽어서는 "왜" 문제가 되는지 감이 잘 오지 않습니다. 좀 더 구체적인 사례를 들어주시면 도움이 많이 될 것 같은데요... 감사합니다.

  2. 이병준님 안녕하세요.
    왜 문제가 되는지는 본문에 있습니다만...

    작은 프로젝트에서는 거의 문제가 되지 않기 때문에 문제를 겪어본 경험이 없거나 감이 안올 수도 있습니다.
    원칙은 태깅(베이스라인)을 한것과 빌드하여 릴리즈한 것은 완전히 동일해야 합니다. 그것이 Configuration Identification의 기본 원칙입니다. 왜그런지는 감이 안오면 실제로 대규모 프로젝트를 해보던지 소프트웨어 개발 프로세스의 전과정을 모두 겪어보면 됩니다.

    그렇지 않다면 당장 지금 문제를 겪을 일을 없을 겁니다.
    이 글을 올린 이유도 이것이 이슈가 된다는 한 글을 보고 트랙백으로 올린 겁니다. ^^

  3. 네 본문에 무슨 말씀하신지는 알겠습니다만... 성공적으로 마쳐진 빌드에 태그를 설정하게 되면 태그 설정 시점에 소스 코드가 엄청나게 바뀌어 있게 된다고 하셨는데요. 이런 상황에서 문제가 될 만한 것을 생각해 본다면, 태그에 설정된 날짜가 실제 빌드를 시작한 날짜와 일치하지 않는다는 것 정도가 될 것 같은데, 그것이 문제가 된다는 말씀이신지요?

  4. 태그(베이스라인)은 기준선입니다. 그런데 빌드를 하고 태깅을 하면 그 기준선이 방금 빌드를 한 것과 다른 것이 될 수 있다는 뜻입니다. 태그(베이스라인)은 빌드와 완전히 일치를 해야 한다는 말입니다. 날짜가 같아야 한다는 것을 넘어서 Configuration Identification이 보장이 되어야 한다는 뜻입니다. ^^

  5. 친절한 답변 감사드립니다. 그런데 계속 궁금증이 생기네요. ^^; 트랙백 거셨다는 원글을 좀 알려주시면 이해하는데 도움이 될 것 같습니다. 미리 감사드립니다~

  6. 이병준님 트랙백 주소는 http://blog.naver.com/tb/sonjae76/10033773331 인데, 해당 포스트는 찾기가 어렵네요. - -;

  7. 참고로 SVN에서는 사후 태깅도 지원합니다.

    SVN이 사후 태깅이 가능한 이유는 CVS 처럼 파일 단위의 버전 관리가 아닌 저장소 중심의 리비전을 관리하는 관계로 빌드 당시의 소스 리비전만 알고 계시면 언제든지 사후 태깅도 가능합니다.

    그러나, 프로젝트의 중요성이 크다면 사전 태깅을 하거나 빌드 자동화 스크립트를 이용하여 자동 태깅이 되도록 하는 것이 좋습니다.

  8. PinkPapa님 안녕하세요.

    PinkPapa님은 이 팀블로그의 블로거 중 한분이시고 제가 알고 있는 최고의 빌드/릴리즈/SCM(Software Configuration Management)에 대한 전문가이십니다. 물론 최고의 개발자이면서요. ^^

    좋은 지적이시네요. SVN은 Revision 번호만 알면 언제든지 태깅을 할 수 있죠.
    제가 컨설팅을 할 때는 항상 원칙을 강조해서 설명을 합니다. 그래야 각인이 되더군요.
    그렇게 해도 항상 예상치 못한 오류나 실수가 자주 생기더군요.

관리자가 이런 일까지?

우리나라 SW 조직에서 관리자란 위치는 참 애매한 위치다. 물론 전문 관리자라면 얘기가 다르지만 왕년에 SW를 조금 개발해 본 경우가 애매하다. 개발팀에서 가장 경험이 많은 SW 개발자들이 주로 팀장이 되곤 한다. 이 경우와..

과거의 성공이 발목을 잡을 때

수많은 소프트웨어 회사들이 첫번째 성공을 거두고 나서 두번째 도약에 실패하고 사라져간다. 물론 첫번째 성공도 어렵지만 이미 성공의 경험이 있고 방법을 알고 있는 회사들이 두번째 또는 세번째에는 많이 실패하는 이유가 무엇일까?..

스펙을 제대로 작성하는 것은 구식이다?

'소프트웨어 개발 방법이 얼마나 발전했는데 아직도 스펙을 제대로 작성하고 개발을 하는가?' 라고 하면서 스펙 작성에 반대하는 주장을 하는 사람들이 있다. 스펙, 설계를 작성하고 구현을 하고 테스트를 하는 방식으로 개발하는 것..

내가 개발에 집중할 수 없는 이유

우리나라에서는 개발자들이 개발에 집중할 수 없는 환경인 곳이 참 많다. 정도의 차이가 있지만 거의 대부분이라고 봐도 무방하다. 그 결정적인 이유는 개발자 혼자서 북치고 장구치고 다해야 하는 상황이기 때문이다. 원래는 이렇게..

설계가 필요할까?

최근에 Software Architect의 정체에 대해서 혼란을 겪고 있는 것 만큼 Software 설계에 대해서도 혼동스러운 것은 마찬가지인 것 같다. 그래서 설계에 대해서도 깔끔하게 정의를 해보자. 흔히 설계에 관한 다음..

Software Architect를 양성하는 나라

우리나라에서는 종종 SW Architect를 양성한다고 한다. 정부에서 막대한 예산이 지원도 되며 SW Architect를 양성하는 학원도 생기고 야단법석이다. 그럼 도대체 SW Architect는 무엇인가? SW Archi..

우리에게 지금 필요한 것은? 바로 이것

우리나라 대부분의 소프트웨어 회사들에게 가장 시급하게 필요한 것은 "기초 체력"이다. 히딩크가 우리나라 국가대표 축구팀을 처음 맞았을 때 강조한 것이 기초 체력이었다. 그전까지 우리는 국가대표 축구팀이 체력은 세계 어디를 내..

프로토타입을 재활용하면 될까? 안될까?

며칠 전 프로토타입에 관해 올린 글에 대해서 프로토타입 재사용에 대해서 여러 의견이 있어서 이 내용에 대해서 조금더 설명해보려고 한다. 2011/11/03 - [프로젝트/요구사항분석] - 프로토타입이란? 소프트웨어공학의 목적..

프로토타입이란?

프로토타입 (경제/경영) 양산(量産)에 앞서 제작해보는 원형(原型)을 '프로토타입'이라 하는데, 프로토타이핑이란 개발자들과 사용자들의 의사소통상의 효과를 증진시키기 위하여 취하는 시스템개발상의 기법이다. 일반적인 분석방법을..

같이 일하려면 적어라.

"협업은 말로 하는 것이 아니라 문서로 하는 것이다." 동서고금을 막론하고 개발자들은 적는 것을 싫어하고 또 잘 적지 못한다. 우리나라 개발자들은 그 정도가 훨씬 심하다. 우리나라에서는 회사가 크던 작던 상관없이 대부분 5년..