8.2. トリガー作成後の設定
トリガーを作成した後、トリガーを使用する前に 2 つの追加ステップが必要です。
- トリガーの作成時に生成された SSH 公開鍵 への読み取りアクセスを付与する。
- ビルドをトリガーする Red Hat Quay のエンドポイントに POST する webhook をセットアップする。
このキーと URL は、トリガーリストにあるギアから View Credentials
を選択することで、どちらもいつでも確認することができます。
8.2.1. SSH 公開鍵へのアクセス
Git サーバーのセットアップに応じて、Red Hat Quay がカスタム git トリガー用に生成する SSH 公開鍵をインストールする方法はさまざまです。たとえば、Git のドキュメント では、小規模なサーバーのセットアップについて説明しています。この場合は、鍵を $HOME/.ssh/authorize_keys
に追加するだけで、ビルダーがリポジトリーをクローンするためのアクセス権が付与されます。公式にサポートされていない git リポジトリー管理ソフトウェアの場合、通常は Deploy Keys
と呼ばれるキーを入力する場所があります。
8.2.2. Webhook
ビルドを自動的にトリガーするには、以下のフォーマットの JSON ペイロードを webhook URL に POST する必要があります。
{ "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 } } }
このリクエストが有効であるためには、application/json
を含む Content-Type
ヘッダーが必要です。
繰り返しになりますが、これはサーバーの設定によりさまざまな方法で行うことができますが、ほとんどの場合は 受信後の git フック で行うことができます。