Ruby と Bitbucket Pipelines

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

This guide shows you how to use Bitbucket Pipelines for building and testing a Ruby software project in a Docker container.

If you'd prefer to quickly import a demo repository with a working pipeline to experiment with, have a look at our demo ruby repo.
Instructions to import the demo repo

For this demo, all you need to do is import this repo and enable pipelines to get your first pipeline to run!

  1. Import this repository by visiting bitbucket.org and log in. Then:

    Import gif

  2. On the left navigation bar, click Pipelines and scroll down to view the bitbucket-pipelines.yml file. Click Enable

    Enable gif

  3. Watch your build run!

    Build gif

Note: Bitbucket Pipelines includes fifty free minutes per account, at the time of writing. You can check your team or account's minutes usage for the month by clicking your Avatar > Bitbucket settings > Plan details.




If you'd like to set it up by hand, here's how you can configure the bitbucket-pipelines.yml file to build and test a Ruby project.

Docker で Ruby のバージョンを指定する

Bitbucket Pipelines は、構成ファイルの最初に指定したイメージを使用し、すべてのビルドを Docker コンテナで実行します。Docker Hub にあるいずれかの公式 Ruby Docker イメージを使用して、Bitbucket Pipelines で簡単に Ruby を使用できます。デフォルトの Ruby イメージを使用する場合、依存関係の解決に役立つ pip がデフォルトでインストールされています。

たとえば、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 バージョンと対応する image タグの一覧については、https://hub.docker.com/r/library/ruby/ をご参照ください。

前述の標準 Ruby イメージのため、Rails Docker イメージは更新が停止されています。

オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。

依存関係をインストールする

If you are using a Gemfile, you can simply run bundle install at the beginning of your script to install all the dependencies:

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

You can also install dependencies explicitly with the gem install command:

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

データベース

Bitbucket Pipelines では、サービスを定義して適切な段階でインスタンス化することで、パイプラインの実行中に追加のサービスを起動できます。

任意のデータベース用に bitbucket-pipeline.yml ファイルを構成する方法について、いくつかのを用意しています。

テスト

ローカルでアプリケーションをテストするために使用したコマンドと同じものを、bitbucket-pipelines.yml に追加します。たとえば RSpec を使用している場合、次のように構成することで、依存関係をインストールしてテストを実行できます。

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


Rails アプリケーションを構築している場合、テストを実行するためにデータベースが必要な場合があります。bitbucket-pipeline.yml ファイルを構成する方法について、いくつかのを用意しています。

たとえば、パイプラインの一部として 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


オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます

最終更新日 2019 年 1 月 2 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.