Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »


개요

이 가이드는 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와 함께 Node.js를 쉽게 사용할 수 있습니다. 기본 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 명령을 사용하여 명시적으로 종속성을 설치할 수도 있습니다.

image: ruby:2.4.0
pipelines:
  default:
    - step:
        script:
          - gem install rails

Testing

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

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

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

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

bitbucket-pipelines.yml

image: ruby:2.3.1

pipelines:
  default:
    - step:
        script: # Modify the commands below to build your repository.
          - export DATABASE_URL=postgresql://test_user:test_user_password@localhost/pipelines
          - bundle install
          - rake db:setup
          - rake db:test:prepare
          - rspec
        services:
          - postgres
 
definitions:
  services:
    postgres:
      image: postgres
      environment:
        POSTGRES_DB: pipelines
        POSTGRES_USER: test_user
        POSTGRES_PASSWORD: test_user_password

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

  • No labels