티스토리 뷰

IT/기타

bitbucket pipelines 사용하기

K.Nero 2018. 12. 28. 12:28

bitbucket.org 에서 repository 를 생성하면 왼쪽 메뉴 중에 Pipelines 이 있는 것을 볼 수 있다. 이 기능이 CI, CD 를 지원해 준다는 것을 알 수 있다.

클릭해서 설명을 보면  무료계정일 경우 50분을 무료로 사용할 수 있는 것을 확인할 수 있다. 사용해보기 위해서 맨 하단의 Settings 로 이동한다.

많은 메뉴 중에 PIPELINES 메뉴를 볼 수 있다.

우선 Settings 를 클릭하면 pipelines 를 활성화 할 수 있는데 repository 에 push 가 될 때 마다 bitbucket-pipelines.yml 파일을 통해서 CI, CD 를 수행하게 된다.

Deployments 메뉴는 각 환경 (Test, Staging, Production) 에서 사용 할 변수들을 설정할 수 있다고 한다. 내 서버는 AWS 에 있으므로 그 곳 까지 배포하는 것을 차례데로 수행해 보겠다. 우선 bitbucket-pipelines.yml 을 repository 에 생성해 준다.

gradle 환경에서의 사용은 https://confluence.atlassian.com/bitbucket/java-with-bitbucket-pipelines-872013773.html 이 부분의 하단을 확인해 보면 간략하게 나와있다. 빌드하는 것 까지의 사용 방법은 아주 간단했다.

이제 yams 파일의 각 설정값들에 대한 상세 정보가 필요한데 그 정보는 

https://confluence.atlassian.com/bitbucket/configure-bitbucket-pipelines-yml-792298910.html#Configurebitbucket-pipelines.yml-ci_deploymentdeployment 

이 곳에 있다. default 는 branches 에 정의되지 않은 branch 가 push 됐을 경우 실행되며 나는 develop, master 에 대한 설정을 추가했다.

image: openjdk:8

pipelines:
default:
- step:
deployment: test
script:
- bash ./gradlew build

branches:
develop:
- step:
name: Build and test
deployment: test
script:
- echo "Start build develop branch"
- bash ./gradlew build

master:
- step:
name: Build and test
deployment: production
script:
- echo "Start build master branch"
- bash ./gradlew build

step 은 sequence 이므로 내가 할 작업을 적절히 step 으로 나눠서 사용하면 될 듯 싶다. 그리고 deployment 를 지정하게 되면 좌측의 Deployments 메뉴를 눌렀을 때 나오는 화면에서 빌드의 결과를 확인할 수 있다.

deployment 는 test, staging, production 3 종류를 사용할 수 있다. 이제 자동 빌드를 했으니 Setting 으로 이동해서 branch 전략과 권한을 설정해 주는 것이 좋다.  Setting -> Branching Model 모델로 이동하면 branch 사용에 대한 정보를 설정할 수 있는데 나는 아래처럼 설정했다.

그리고 Branch permission 에서 각 branch 에 대한 권한을 설정하는데 나는 master 로 바로 direct 로 push, pull request 를 하지 못 하게 막았다. 그리고 하단의 merge check 를 열어보면 merge 조건을 설정할 수 있는데 premium 를 제외하고 모두 체크해 줬다.

(아직 실제 배포까지는 하지 않아서 실제 배포를 사용해 본 후 추가로 작성하려고 한다.)

'IT > 기타' 카테고리의 다른 글

PostgreSQL 사용자 생성  (0) 2019.03.04
PostgreSQL 제약조건 변경  (0) 2019.01.22
PostgreSQL Partitioning  (0) 2018.09.12
Docker에 어플리케이션 올리기  (0) 2017.03.16
Docker 설치  (0) 2017.03.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함