6.6. Webhook およびアクションフック
6.6.1. 概要
以下のトピックでは、OpenShift バージョン 2 (v2) と OpenShift バージョン 3 (v3) 間の webhook とアクションフックの相違点と、これらのアプリケーションの v3 環境への移行方法について説明します。
6.6.2. Webhook
GitHub リポジトリーから
BuildConfig
を作成した後に、以下を実行します。$ oc describe bc/<name-of-your-BuildConfig>
以下のように、上記のコマンドは webhook GitHub URL を出力します。
<https://api.starter-us-east-1.openshift.com:443/oapi/v1/namespaces/nsname/buildconfigs/bcname/webhooks/secret/github>.
- GitHub の Web コンソールから、この URL を GitHub にカットアンドペーストします。
-
GitHub リポジトリーで、Settings
Webhooks & Services から Add Webhook を選択します。 - Payload URL フィールドに、(上記と同様の) URL の出力を貼り付けます。
-
Content Type を
application/json
に設定します。 - Add webhook をクリックします。
webhook の設定が正常に完了したことを示す GitHub のメッセージが表示されます。
これで変更を GitHub リポジトリーにプッシュするたびに新しいビルドが自動的に起動し、ビルドに成功すると新しいデプロイメントが起動します。
アプリケーションを削除または再作成する場合には、GitHub の Payload URL フィールドを BuildConfig
webhook url で更新する必要があります。
6.6.3. アクションフック
OpenShift バージョン 2 (v2) では、.openshift/action_hooks ディレクトリーに build、deploy、post_deploy および pre_build スクリプトまたは action_hooks が置かれます。v3 にはこれらのスクリプトに対応する 1 対 1 の機能マッピングはありませんが、v3 の S2I ツール には カスタム可能なスクリプト を指定の URL またはソースリポジトリーの .s2i/bin ディレクトリーに追加するオプションがあります。
OpenShift バージョン 3 (v3) には、イメージをビルドしてからレジストリーにプッシュするまでのイメージの基本的なテストを実行する post-build hook があります。デプロイメントフック はデプロイメント構成で設定されます。
v2 では、通常 action_hooks は環境変数を設定するために使用されます。v2 では、環境変数は以下のように渡される必要があります。
$ oc new-app <source-url> -e ENV_VAR=env_var
または、以下を実行します。
$ oc new-app <template-name> -p ENV_VAR=env_var
または、以下を使用して環境変数を追加し、変更することができます。
$ oc set env dc/<name-of-dc> ENV_VAR1=env_var1 ENV_VAR2=env_var2’