Bitbucket Pipelines - Ruby


개요

이 가이드는 Docker 컨테이너에서 Ruby 소프트웨어 프로젝트를 빌드하고 테스트하기 위해 Bitbucket Pipelines를 사용하는 방법을 보여줍니다.

Bitbucket Pipelines는 작성 시점에 계정 당 무료 50 분을 포함합니다. 작업 영역(Workspace)에서 Settings > Plan details를 클릭하여 해당 월의 계정 사용 시간을 확인할 수 있습니다

파이프라인을 직접 설정는 경우, 파이프라인이 빌드를 정의하는데 사용하는 bitbucket-pipelines.yml 파일에서 대부분을 구성하게 됩니다.

Docker로 Ruby 버전 지정

Bitbucket Pipelines는 구성 파일의 시작 부분에 명시한 이미지를 사용하여 Docker 컨테이너에서 모든 빌드를 실행합니다.  Docker Hub의 official Ruby Docker images 중 하나를 사용하여 Bitbucket Pipelines와 함께 Ruby를 쉽게 사용할 수 있습니다. 기본 Ruby 이미지를 사용하는 경우 기본적으로 설치된 번들러가 함께 제공되어 종속성을 관리하는 데 도움이 됩니다.

예를 들어, bitbucket-pipelines.yml 파일의 시작 부분에 Ruby 2.4.0를 명시하여 사용할 수 있습니다.

image: ruby:2.4.0 pipelines: default: - step: script: - ruby -v

다른 버전의 Ruby를 사용하려면 Ruby Docker 이미지의 태그를 변경하기 만하면됩니다. 예를 들어 Ruby 2.3.3으로 컨테이너를 시작하는 방법은 다음과 같습니다.

image: ruby:2.3.3

지원되는 모든 Ruby 버전 및 해당 이미지 태그 목록은 https://hub.docker.com/r/library/ruby/ 에서 찾을 수 있습니다  .

online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.

종속성 설치

Gemfile을 사용하는 경우 스크립트 시작 부분에 bundle install을 실행  하여 모든 종속성을 설치할 수 있습니다.

image: ruby:2.4.0 pipelines: default: - step: script: - bundle install

gem install 명령을 사용하여 명시적으로 종속성을 설치할 수도 있습니다.

Testing

애플리케이션을 테스트하려면 로컬에서 실행하는 것과 동일한 명령을 bitbucket-pipelines.yml 파일에 추가하면 됩니다. 예를 들어 RSpec을 사용하는 경우 종속성을 설치한 다음에 테스트를 실행합니다.

Rails 애플리케이션을 빌드하는 경우 테스트를 실행하기 위해 데이터베이스가 필요할 가능성이 높습니다.

예를 들어 파이프라인의 일부로 PostgreSQL 데이터베이스를 구성하는 방법은 다음과 같습니다.

bitbucket-pipelines.yml

online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.