대가는 결과를 만든다

bitbucket pipeline을 이용한 배포 본문

개발/배포

bitbucket pipeline을 이용한 배포

yunzema 2019. 11. 21. 09:52
반응형

1. Bitbucket pipeline Feature

 

- Bitbucket의 CI/CD 통합 서비스

 

- config 파일(bitbucket-pipelines.yml)을 기반으로 빌드, 테스트, 배포를 자동화 할 수 있다.

  (js, docker, python등 다양한 언어를 지원함)

 

- Cloud에 Docker Container를 생성하여 진행하는 방식이며, Linux에서 build, test할 수 있는 상황이어야 한다.

 

- repository에 push할 때마다 pipeline trigger된다 ( 특정 tag, branch, bookmark를 trigger로 설정 가능 )

 

- 앞서 말했듯이 docker container에서 배포가 진행되므로, 배포시 특정 커맨드 실행도 script에서 정의 가능 하겠다.

 

- build에 사용할 docker image 정의 가능

 

- 의존성 파일들을 cache하여 빌드 시간 단축 가능

 

- AWS의 S3나 ECR에 바로 배포할 수 있는 template 도 제공하므로 다른 플랫폼으로의 배포 연결이 수월하다.

 

- 요금제에 따라 free/50min, standard/2500min, premium/3500min의 빌드 타임을 무료로 사용할 수 있음

 

 

2. pipeline 이용 방법

1) 초기 세팅 시에는 bitbucket 웹페이지 repository 좌측 메뉴에서 pipeline으로 이동하여 bitbucket-pipeline.yml을 작성 가능하다.

(혹시 pipeline 메뉴가 없는 경우 settings에서 pipeline을 사용할 수 있도록 설정해주면 메뉴에 표시됨)

 

2) 사용할 언어를 선택 가능하며, 다른 플랫폼으로의 배포인 경우 template을 선택해서 적용 가능 (aws 각종 서비스, slack notify, google appengine 등으로 연결 가능)

 

3)  edit창 하단을 보면 알 수 있듯이 validation도 해주기 때문에 문법이나 형식에 알맞게 수정하면 된다. 올바르게 작성했다면 commit file 버튼을 누른다. 해당 bitbucket-pipeline.yml파일이 repository 프로젝트에 추가된다. (디폴트로 master branch에 추가됨)

 

* bitbucket-pipeline.yml 구체적인 작성법 글은 https://yunzema.tistory.com/260 이 게시글 참고

 

5) pipeline이 동작하게 되면 pipeline메뉴에서 확인이 가능하다. 동작하고 있는 pipeline에 들어가면 현재 진행 상태로그를 그림 2와 같이 볼 수 있다. 과거 내역들도 모두 볼 수 있다. 배포가 정상적으로 되면 status에 successful이 뜨게 된다.

 

* status : pending(시작시) -> successful/failed(결과)

* 우측 상단 메뉴 중 usage로 배포로 사용한 시간을 체크 가능하며, run pipeline으로 배포를 수동실행도 가능하다.

* cache에 대한 내용은 bitbucket-pipeline.yml 작성법 설명 글에서 설명하겠다.

 

pipeline 동작 목록
그림 2 : 배포 과정 콘솔로 모니터링 가능

 

 

 

get started참고 링크 : https://confluence.atlassian.com/bitbucket/get-started-with-bitbucket-pipelines-792298921.html

 

Get started with Bitbucket Pipelines - Atlassian Documentation

 

confluence.atlassian.com

'개발 > 배포' 카테고리의 다른 글

Bitbucket pipeline으로 AWS S3에 Vue SPA 배포하기  (0) 2019.11.29
Comments