곰돌푸우❤️

목차

     Bitbucket은 소스관리를 위해 Private 저장소를 무료로 제공하는 서비스 입니다. 

    프로젝트를 팀단위로 진행하다보면 팀원들이 기능을 나눠 개발하게 되고 저장소에 푸시하게 됩니다. 그러면 이를 주기적으로 통합하고 빌드가 잘 이루어지를 확인할 필요가 있는데 이 때 젠킨스와 같은 CI툴을 사용하면 여러가지 이점들을 누릴 수 있습니다. 

    • 주기적 혹은 푸시를 감지하여 서버에서 빌드를 수행합니다.
    • 테스트 코드를 실행하고 커버리지를 리포트 받을 수 있습니다.
    • 정적 분석 및 코드 품질을 모니터링 할 수 있습니다.

    대표적인 이 기능들 외에도 여러가지 기능을 활용 할 수 있습니다.

     

     

    이제 젠킨스(Jenkins)를 Bitbucket과 연동하는 방법을 정리해보겠습니다.

     

     

    1. 젠킨스에 Bitbucket 플러그인 설치

     

     

    Jenkins 페이지에 접속한 후 Jenkins 관리 -> 플러그인 관리 에 들어갑니다.

     

     

     

    설치 가능 탭으로 이동하고 우측 상단의 필터란에 bitbucket plugin 을 입력하여 검색합니다.

    다음 아래 결과에서 Bitbucket Plugin의 좌측 체크박스를 체크하고 "지금 다운로드하고 재시작 후 설치하기"를 클릭합니다.

     

     

     

    기다렸다가 설치가 끝나면 "메인 페이지로 돌아가기"를 클릭해 빠져나옵니다.

     

     

    2. 젠킨스 Item 생성

     

     

    젠킨스 메인 페이지에서 "새로운 item"을 클릭합니다.

     

     

     

    item의 이름을 입력하고 Freestyle project을 선택하고 하단에 OK를 누릅니다.

     

     

     

    다음으로 설정창이 뜹니다.

    소스 코드 관리로 가서 Git을 체크 해주면 입력폼이 활성화가 되는데 

    Repository URL에는 Bitbucket의 프로젝트 저장소 URL을 입력(잘못 입력하면 Webhook이 작동하지 않습니다)하고

    Credentials에는 Add->Jenkins를 눌러 인증정보를 생성하고 선택해줍니다.

     

     

    (Credentials->Add->Jenkins를 선택하면 뜨는 화면)

     

    여러 인증방법이 있겠지만 여기서는 Bitbucket의 Username과 Password로 인증정보를 생성하겠습니다.

    Username에는 Bitbucket의 아이디

    Password에는 Bitbucket의 패스워드를 입력 후 Add를 누릅니다.

     
     

     

    Build When a change is pushed to Bitbucket 을 체크 합니다.

    (위 옵션은 Bitbucket Plugin을 설치하면 나타납니다.)

     

     

    3. 마지막으로 Bitbucket에 Webhook걸기

     

     

    Bitbucket에 접속합니다.

    훅을 걸고자 하는 Project를 선택하고 Settings -> Webhooks탭을 들어가 Add webhook 버튼을 선택합니다.

     

     

     

     

     

    Title

    식별가능한 webhook의 이름을 설정합니다.

    ex) Jenkins webhook

     

    URL

    http://{젠킨스 서버주소[:포트번호]}/bitbucket-hook/ (마지막 슬래시(/)를 꼭 붙여줍니다.)

    ex) http://ci.test.com/bitbucket-hook/

     

     

     

     

    여기까지가 기본 세팅끝입니다.

    이제 Bitbucket에 커밋을 푸시하면 Bitbucket이 Jenkins에 훅을 보내고 Jenkins에서 감지하게 됩니다.

    하지만 아직 Build 트리거를 설정하지 않아 빌드작업은 수행되지 않고 Git 변경 내역만 Jenkins서버에 자동으로 업데이트합니다.

     

     

    아래 링크를 참고하셔서 추가 빌드 설정을 해야합니다.

    Android Studio 프로젝트를 위한 Jenkins에 Gradle 빌드 설정하기

     

    반응형
    facebook twitter googleplus kakaostory naver