1 minute read

when, what 분리. 관리가 쉬워질 것 같다. artifacts 전달로 중복을 제거하자.

nil

Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.

Continuous integration - en.m.wikipedia.org

CI는 언제 할지 결정한다. 이거 말은 멋지지만 원래 정의에 어긋나지 않나? 그래서 정의를 찾아봤다.

integration hell을 피해서 지속적으로 통합하자는 거니 when 단어를 써도 되겠다.

CruiseControl.NET을 사용했을 땐, 확실히 구분했던 것 같다. 뭐 설정하기가 어려우니깐. CI는 when 결정. 하지만 jenkins로 오니깐 웹에서 설정이 쉽다. 플러그인도 많아. 너무 쉽게 설정할 수 있으니깐 what 또한 여기에 기록하기 시작했다.

jenkins 설정 파일이 버전 컨트롤 마수에서 벗어나는 꼴은 못 본다. 항상 버전 컨트롤을 해왔다. 이렇게 잘하고 있다면 what 기록도 괜찮지 않을까? 아니. 로컬 테스트 때문이라도 빌드 스크립트는 커맨드라인에서 실행 가능한 상태여야 한다.

nil

nil

그래 이 방법이 맞다. 빌드스크립트가 what.

nil

nil

실행 인자도 CI 몫. 여기서 예로 든 배포 FTP 주소처럼.

nil

nil

반복이 있다. 이렇게 하면 엄청 느리겠지?

nil

artifacts 전달로 중복 제거. 속도 up.

한 번도 사용 안 해봤는데, 저렇게 전달하는 프로세스를 잘 활용하면 slave가 여러 개일 때, 더 효과적으로 사용할 수 있겠다. 구성을 여러 노드에서 분산 빌드하고 한 노드로 artifacts 전달. 커밋.

발표 영상 막판에 노래까지 부른다. 멋진 아저씨다.

발표 영상 - Roy Osherove - Beautiful Builds on Vimeo - vimeo.com