2.7. Git フックの準備

オーサリング環境では、Business Central のプロジェクトのソースコードが変更された場合に Git フックを使用してカスタムの操作を実行できます。Git フックは一般的に、アップストリームのリポジトリーを操作する時に使用します。

Git フックが SSH 認証を使用してアップストリームのリポジトリーを操作できるようにするには、リポジトリーに、認証用の秘密鍵と既知のホストファイルも指定する必要があります。

Git フックを設定しない場合は、この手順を飛ばして次に進んでください。

手順

  1. Git フックファイルを作成します。方法は、Git hooks reference documentation を参照してください。

    注記

    Business Central では pre-commit スクリプトはサポートされません。post-commit スクリプトを使用してください。

  2. 設定マップ (ConfigMap)、またはこれらのファイルを含む永続ボリュームを作成します。

    • Git フックが 1 つまたは複数の固定スクリプトファイルで設定される場合は、oc コマンドを使用して設定アップを作成します。以下に例を示します。

      oc create configmap git-hooks --from-file=post-commit=post-commit
    • Git フックはロングファイルで設定されるか、実行可能ファイルや JAR ファイルなどのバイナリーに依存する場合は、永続ボリュームを使用します。永続ボリュームと永続ボリューム要求を作成し、ボリュームと要求を関連付けて、このファイルをボリュームに転送する必要があります。

      永続ボリュームおよび永続ボリューム要求の説明は、Red Hat OpenShift Container Platform ドキュメントの ストレージ を参照してください。永続ボリュームへのファイルのコピー方法は、Transferring files in and out of containers を参照してください。

  3. Git フックスクリプトが SSH 認証を使用してアップストリームのリポジトリーと対話する必要がある場合は、必要なファイルでシークレットを作成します。

    1. リポジトリーに格納されている公開鍵に一致する秘密鍵を使用して、id_rsa ファイルを作成します。
    2. リポジトリーの正しい名前、アドレス、公開鍵で known_hosts ファイルを作成します。
    3. 以下のように oc コマンドを使用して、2 つのファイルでシークレットを作成します。

      oc create secret git-hooks-secret --from-file=id_rsa=id_rsa --from-file=known_hosts=known_hosts
      注記

      デプロイメントでこのシークレットを使用する場合は、id_rsaknown_hosts ファイルを、Business Central の Pod にある /home/jboss/.ssh ディレクトリーにマウントします。