CI 관련 질문 드립니다.^^

2015-01-05 17:51

염치불구하고 질문 하나 드립니다.

CI로 소스를 배포하기 전에 서버에 있는 기존 소스를

다른 경로에 복사하거나 하는게 가능한지 알고싶습니다.

그리고 소스에서 변경된 부분만 CI가 체크아웃해서

변경된 소스만 배포가능한지 알고싶네요 ^^

요약 1. 배포 전 서버에 있는 기존 소스 백업가능여부 2. CI로 변경된 부분만 배포 가능여부

^^

3개의 의견 from SLiPP

2015-01-05 18:21

당연히 가능합니다. 단, 이 작업은 CI가 담당하는 것이 아니라 쉘 스크립트가 담당하도록 하고, CI는 이 쉘 스크립트의 명령을 실행하는 방식으로 구현할 수 있어요.

빌드 및 배포 작업을 쉽게 지원하는 도구들이 있는데요. 그 중에 하나가 fabric 이라고 있어요. http://www.slipp.net/wiki/display/IDE/fabric 에 정리해 놓은 문서가 있는데요. 한번 참고해 보시고요. 일단 fabric을 통해 감을 잡아 보신 후 이와 비슷한 다양한 도구를 찾아보시면 좋을 듯 합니다.

fabric은 python, ruby 기반은 capistrano와 같은 도구들 있어요.

  1. 배포 전 서버에 있는 기존 소스 백업가능여부
  • 리눅스 명령을 통해 가능하다.
  1. CI로 변경된 부분만 배포 가능여부
  • 버전 관리 시스템에서 이전 revision과 최신 revision 사이의 변경 목록을 얻어온 후 이 목록을 활용해 배포할 수 있지 않을까라는 생각이 드네요. 제가 직접 해보지 않았는데요. 가능하리라 생각합니다.
2015-01-07 00:17

gradle 사용하시면 cargo 플러그인을 사용해보세요.

그리고 말씀하신 배포 전략은 jenkins와 같은 CI도구에서 job 생성 시에 정책을 설정하시면 됩니다.

ex) commit 했을때 checkout했을 때 부모프로젝트의 컴파일이 성공했을 때

등등의 경우에 자바지기님이 말씀하신대로

CI가 쉘스크립트 명령을 실행하도록 하면 되겠네요

의견 추가하기

연관태그

← 목록으로