ビルド

概要

Odoo.shでは、ビルドとは、コンテナ化された環境でプロジェクトリポジトリの特定のリビジョンを実行しているOdooサーバ (odoo/odoo & odoo/enterprise) によって読み込まれたデータベースと見なされます。その目的は、このリビジョンにおけるサーバ、データベース、および機能の動作をテストすることです。

../../../_images/interface-builds.png

このビューでは、行はブランチを表し、行のセルは、このブランチのビルドを表します。

ほとんどの場合、GitHubのリポジトリのブランチをプッシュするとビルドが作成されます。Odoo.shでデータベースをインポートしたり、プロジェクトのブランチの再構築を依頼したりするなど、他のオペレーションを行う際にもビルドを作成することができます。

ビルド中にエラーや警告が発生しなければ、ビルドは成功したと見なされます。ビルドが成功すると、緑色でハイライト表示されます。

ビルド中にエラーが発生した場合、ビルドは失敗したと見なされます。失敗したビルドは赤色でハイライト表示されます。

作成中に警告は表示されるもののエラーがない場合、ビルドはほぼ成功したと見なされます。開発者に警告が通知されるように、黄色でハイライト表示されます。

ビルドは常にゼロからデータベースを作成するわけではありません。例えば、プロダクションブランチに変更をプッシュする場合、ビルドは新しいリビジョンでサーバを起動し、現在のプロダクションデータベースをロードしようとします。エラーが発生しなければビルドは成功と見なされ、エラーが発生した場合は失敗となります。

ステージ

製造

プロダクションブランチの最初のビルドでは、ゼロからデータベースが作成されます。このビルドが成功した場合、このデータベースはプロジェクトのプロダクションデータベースと見なされます。

それ以降、プロダクションブランチへのプッシュは、新しいリビジョンで動作するサーバを使用してデータベースをロードしようとする新しいビルドを作成します。

ビルドが成功した場合、または警告はあってもエラーがない場合、このビルドと関連付けられたリビジョンとともに、本番データベースがこのビルドで実行されます。

ビルドがデータベースのロードまたはアップデートに失敗した場合、以前のビルドが再利用されてデータベースがロードされ、その結果、データベースは以前のビルドが成功したリビジョンで実行されているサーバを使用して実行されます。

プロダクションデータベースを実行するビルドは、ビルドリストの一番上に常に表示されます。ビルドが失敗した場合は、現在プロダクションデータベースを実行しているビルドの後に配置されます。

ステージング

ステージングはプロダクトデータベースを複製し、ステージングブランチのリビジョンとともにこの複製をロードしようとします。

ステージングブランチに新しいリビジョンをプッシュするたびに、作成されるビルドではプロダクションデータベースの新しいコピーが使用されます。同じブランチのビルド間でデータベースが再利用されることはありません。これにより、次のことが保証されます。

  • ステージングビルドでは、本番環境に近いデータベースを使用するため、テストを古いデータで行うことはありません。

  • 同じステージングデータベースで好きなだけ操作を試すことができます。そして、プロダクトの新しいコピーで再起動したいときに再構築を依頼することができます。

しかし、ステージングデータベースで設定変更を行い、本番環境に適用しない場合、同じステージングブランチの次のビルドには反映されません。

開発

開発ビルドでは、新しいデータベースを作成し、デモデータをロードし、ユニットテストを実行します。

インストール中にテストが失敗した場合、ビルドは失敗と見なされ、赤でハイライト表示されます。これは、何か問題が発生した場合にエラーを発生させることを目的としているためです。

全てのテストに合格し、エラーがなければ、ビルドは成功したと見なされます。

インストールとテストを行うモジュールリストによると、開発ビルドが完了するまでに最大1時間かかる場合があります。これは、Odooのデフォルトのモジュールスイートに設定されているテストの数が非常に多いことが原因です。

機能

プロダクトブランチは常に最初に表示され、その他のブランチは最後に作成されたビルドの順に表示されます。ブランチをフィルタリングすることもできます。

../../../_images/interface-builds-branches.png

各ブランチでは、 接続 リンクを使用して最後のビルドのデータベースにアクセスし、 Github リンクを使用してブランチコードにジャンプすることができます。プロダクト以外のブランチでは、リビルド リンクを使用して、ブランチの最新リビジョンを使用する新しいビルドを作成することができます。この最後のリンクは、ブランチで進行中のビルドがすでに存在する場合には使用できません。

../../../_images/interface-builds-build.png

各ビルドについて、GitHubアイコンのボタンを使用してリビジョン変更にアクセスできます。接続 ボタンを使用して、管理者としてビルドのデータベースにアクセスできます。また、接続 ボタンのドロップダウンメニューにある 以下として接続: ボタンを使用して、別のユーザとしてデータベースにアクセスすることもできます。

../../../_images/interface-builds-build-dropdown.png

ビルドのドロップダウンメニューでは、ブランチビュー と同じ機能にアクセスできます。ログ、ウェブシェル、エディタ、送信済みメールなどです。また、ビルドのデータベースのダンプをダウンロードすることもできます。