Bitbucket Cloud の使用を開始する
Bitbucket Cloud を初めてお使いですか? 新規ユーザー用のガイドをご利用ください。
このガイドでは、Bitbucket Pipelines を使用して、Docker コンテナで Ruby ソフトウェア プロジェクトをビルドおよびテストする方法について説明します。
実際に動作するパイプラインを持つデモ リポジトリをインポートしたい場合、デモ用の ruby リポジトリをご参照ください。
手動でセットアップしたい場合、bitbucket-pipelines.yml ファイルを構成して Ruby プロジェクトを構成およびテストする方法についてご確認ください。
Bitbucket Pipelines は、構成ファイルの最初に指定したイメージを使用し、すべてのビルドを Docker コンテナで実行します。Docker Hub にあるいずれかの公式 Ruby Docker イメージを使用して、Bitbucket Pipelines で簡単に Ruby を使用できます。デフォルトの Ruby イメージを使用する場合、依存関係の解決に役立つ pip がデフォルトでインストールされています。
たとえば、bitbucket-pipelines.yml ファイルの先頭で次のように指定して Ruby 2.4.0 を使用できます。
1
2
3
4
5
6
image: ruby:2.4.0
pipelines:
default:
- step:
script:
- ruby -v
Ruby の異なるバージョンを使用したい場合、Ruby Docker イメージのタグを変更します。次の例は、Ruby 2.3.3 のコンテナを開始します。
1
image: ruby:2.3.3
サポートされる Ruby バージョンと対応する image タグの一覧については、https://hub.docker.com/r/library/ruby/ をご参照ください。
前述の標準 Ruby イメージのため、Rails Docker イメージは更新が停止されています。
オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。
Gemfile を使用している場合、スクリプトの最初で bundle install を実行することで、すべての依存関係を簡単にインストールできます。
1
2
3
4
5
6
image: ruby:2.4.0
pipelines:
default:
- step:
script:
- bundle install
gem install コマンドで依存関係を明示的にインストールすることもできます。
1
2
3
4
5
6
image: ruby:2.4.0
pipelines:
default:
- step:
script:
- gem install rails
Bitbucket Pipelines では、サービスを定義して適切な段階でインスタンス化することで、パイプラインの実行中に追加のサービスを起動できます。
任意のデータベース用に bitbucket-pipeline.yml ファイルを構成する方法について、いくつかの例を用意しています。
ローカルでアプリケーションをテストするために使用したコマンドと同じものを、bitbucket-pipelines.yml に追加します。たとえば RSpec を使用している場合、次のように構成することで、依存関係をインストールしてテストを実行できます。
1
2
3
4
5
6
7
image: ruby:2.4.0
pipelines:
default:
- step:
script:
- bundle install
- rspec
Rails アプリケーションを構築している場合、テストを実行するためにデータベースが必要な場合があります。bitbucket-pipeline.yml ファイルを構成する方法について、いくつかの例を用意しています。
たとえば、パイプラインの一部として PostgreSQL データベースを構成する方法は次のようになります。
bitbucket-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 ファイルをチェックすることができます。
この内容はお役に立ちましたか?