Ruby と Bitbucket Pipelines

お困りですか?

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

コミュニティに質問

robotsnoindex

このガイドでは、Bitbucket Pipelines を使用して、Docker コンテナで Ruby ソフトウェア プロジェクトをビルドおよびテストする方法について説明します。

実際に動作するパイプラインを持つデモ リポジトリをインポートしたい場合、デモ用の ruby リポジトリをご参照ください。
デモ リポジトリのインポート手順

このデモではこのリポジトリをインポートし、最初のパイプラインを実行するためにパイプラインを有効化します。

  1. bitbucket.org にアクセスしてログインし、このリポジトリをインポートします。その後、次の操作を行います。

    gif のインポート

  2. 左側のナビゲーション バーで [Pipelines] をクリックし、下にスクロールして bitbucket-pipelines.yml ファイルを表示します。[有効化] をクリックします。

    gif の有効化

  3. ビルドが実行されるのを確認します。

    gif のビルド

注意: Bitbucket Pipelines には、アカウントごとに 50 分の無料利用時間が含まれています (本記事の執筆時点での情報)。自身のアバター > [Bitbucket 設定] > [プランの詳細] で、その月のチームまたはアカウントの時間の使用量を、分単位で確認できます。




手動でセットアップしたい場合、bitbucket-pipelines.yml ファイルを構成して Ruby プロジェクトを構成およびテストする方法についてご確認ください。

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 ファイルをチェックすることができます。

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

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

データベース

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 ファイルをチェックすることができます

最終更新日 2020 年 6 月 24 日

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

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