12.6. カスタム Git トリガーの設定
カスタム Git トリガー を作成した後、次の 2 つの追加手順が必要です。
- トリガーの作成時に生成された SSH 公開鍵への読み取りアクセスを付与する必要があります。
- ビルドをトリガーするには、Quay.io エンドポイントに POST する Webhook をセットアップする必要があります。
これらの手順は、カスタム Git トリガー を使用している場合にのみ必要です。
12.6.1. ビルドトリガーの認証情報を取得する
SSH 公開鍵と Webhook エンドポイント URL は、Red Hat Quay UI で利用できます。
前提条件
- カスタム Git トリガー を作成している。
手順
- リポジトリーの Builds ページで、カスタム Git トリガー のメニューケバブをクリックします。
- View Credentials をクリックします。
- SSH 公開鍵と Webhook エンドポイント URL を保存します。
鍵と URL は、Settings または 歯車 アイコンから View Credentials を選択することで利用できます。
リポジトリーからのタグの表示および変更
12.6.1.1. SSH 公開鍵へのアクセス
Git サーバーの設定に応じて、Quay.io がカスタム Git トリガー用に生成する SSH 公開鍵をインストールする方法はさまざまです。
たとえば、Getting Git on a Server のドキュメントでは、リポジトリーの管理と SSH 経由のアクセス制御に重点を置いて、Linux ベースのマシンに Git サーバーをセットアップする方法を説明しています。この手順では、$HOME/.ssh/authorize_keys
フォルダーにキーを追加するための小さなサーバーがセットアップされ、ビルダー がリポジトリーのクローンを作成するためのアクセスが提供されます。
公式にサポートされていない Git リポジトリー管理ソフトウェアの場合、通常、Deploy Keys というラベルが付いたキーを入力する場所があります。
12.6.1.2. Webhook
ビルドを自動的にトリガーするには、次の形式を使用して .json
ペイロードを Webhook URL に POST
する必要があります。
このリクエストが有効であるためには、application/json
を含む Content-Type
ヘッダーが必要です。
Webhook の例
{ "commit": "1c002dd", // required "ref": "refs/heads/master", // required "default_branch": "master", // required "commit_info": { // optional "url": "gitsoftware.com/repository/commits/1234567", // required "message": "initial commit", // required "date": "timestamp", // required "author": { // optional "username": "user", // required "avatar_url": "gravatar.com/user.png", // required "url": "gitsoftware.com/users/user" // required }, "committer": { // optional "username": "user", // required "avatar_url": "gravatar.com/user.png", // required "url": "gitsoftware.com/users/user" // required } } }
これは通常、post-receive
Git フック を使用して実現できますが、サーバーのセットアップによって異なります。