12.5. ビルドトリガー
ビルドトリガーは、 ソースコードの変更、依存関係の更新、Webhook 呼び出しの作成 など、特定の条件が満たされたときにコンテナーイメージのビルドを開始する自動化されたメカニズムです。これらのトリガーは、イメージビルドプロセスの自動化に役立ち、手動介入なしにコンテナーイメージを常に最新の状態にします。
次のセクションでは、ビルドトリガーの作成、タグの命名規則、ソースコントロールがトリガーするビルドのスキップ方法、ビルド の開始、または ビルド の手動トリガーに関連するコンテンツを説明します。
12.5.1. ビルドトリガーの作成
次の手順では、カスタム Git トリガー をセットアップします。カスタム Git トリガーは、任意の Git サーバーが ビルドトリガー として機能するための一般的な方法です。カスタム Git トリガーは SSH 鍵と Webhook エンドポイントのみに依存します。カスタム Git トリガーの作成は、他のトリガーの作成と似ていますが、次の点が違います。
- Quay.io は、トリガーで使用する適切なロボットアカウントを自動的に検出することはできません。これは、作成時に手動で行う必要があります。
これらの手順をレプリケートして、Github、Gitlab、または Bitbucket を使用して ビルドトリガー を作成できますが、config.yaml
ファイルでこれらのサービスの認証情報を設定する必要があります。
- Github を使用して ビルドトリガー を作成する場合は、OAuth アプリケーションを作成し、Red Hat Quay で使用する Github を設定する必要があります。詳細は、「OAuth アプリケーション Github の作成」を参照してください。
手順
- Red Hat Quay レジストリーにログインします。
- ナビゲーションペインで、Repositories をクリックします。
- Create Repository をクリックします。
- Builds タブをクリックします。
- Builds ページで、Create Build Trigger をクリックします。
- Github、Bitbucket、Gitlab などの目的のプラットフォームを選択するか、カスタム Git リポジトリーを使用します。この例では、Custom Git Repository Push をクリックします。
-
カスタム Git リポジトリー名を入力します (例:
git@github.com:<username>/<repo>.git
)。Next をクリックします。 プロンプトが表示されたら、次のオプションのいずれかまたは両方を選択して、タグ付けオプションを設定します。
- Tag manifest with the branch or tag name。このオプションを選択すると、ビルドされたマニフェストにブランチの名前または git コミットのタグがタグ付けされます。
Add
latest
tag if on default branch。このオプションを選択すると、リポジトリーのデフォルトブランチでビルドが行われた場合に、ビルドされたマニフェストに latest がタグ付けされます。オプションで、カスタムのタグ付けテンプレートを追加できます。ここに入力できるタグテンプレートは複数あります。短い SHA ID、タイムスタンプ、作成者名、コミッター、コミットからのブランチ名をタグとして使用することもできます。詳細は、「ビルドトリガーのタグ命名」を参照してください。
タグ付けを設定したら、Next をクリックします。
- プロンプトが表示されたら、トリガーの呼び出し時にビルドする Dockerfile の場所を選択します。Dockerfile が git リポジトリーのルートにあり、Dockerfile という名前が付けられている場合は、Dockerfile パスとして /Dockerfile を入力します。Next をクリックします。
-
プロンプトが表示されたら、Docker ビルドのコンテキストを選択します。Dockerfile が Git リポジトリーのルートにある場合は、ビルドコンテキストディレクトリーとして
/
を入力します。Next をクリックします。 - オプション: 任意のロボットアカウントを選択します。これにより、ビルドプロセス中にプライベートのベースイメージをプルできます。プライベートベースイメージが使用されていないことを把握している場合は、この手順を省略できます。
- Next をクリックします。検証の警告がないか確認します。必要に応じて、Finish をクリックする前に問題を修正します。
トリガーが正常にアクティベートされたという警告が表示されます。このトリガーを使用するには、以下のアクションが必要になることに注意してください。
- 以下の公開鍵に git リポジトリーへの読み取りアクセス権を与える必要があります。
ビルドをトリガーするには、リポジトリーを
POST
に設定する必要があります。SSH 公開鍵を保存し、Return to <organization_name>/<repository_name> をクリックします。リポジトリーの Builds ページにリダイレクトされます。
Builds ページに、ビルドトリガー が表示されます。以下に例を示します。
カスタム Git トリガーを作成した後、追加の手順が必要になります。「カスタム Git トリガーのセットアップ」に進みます。
Github、Gitlab、または Bitbucket の ビルドトリガー をセットアップする場合は、「ビルドの手動トリガー」に進んでください。
12.5.2. ビルドの手動トリガー
次の手順を使用して、ビルド を手動でトリガーできます。
手順
- Builds ページで、Start new build をクリックします。
- プロンプトが表示されたら、Invoke Build Trigger を選択します。
- Run Trigger Now をクリックして、プロセスを手動で開始します。
ビルドを開始するコミット ID を入力します (例:
1c002dd
)。ビルドが開始したら、Repository Builds ページで ビルド ID を確認できます。