第13章 環境をデプロイした後の任意の手順

環境の要件によっては、デプロイ後に任意の手順を完了しないといけない場合があります。

13.1. (オプション) Git フックディレクトリーの指定

オーサリング環境をデプロイして GIT_HOOKS_DIR パラメーターを設定した場合は、Git フックのディレクトリーを指定して、Business Central デプロイメントにこのディレクトリーをマウントする必要があります。

Git フックは一般的に、アップストリームのリポジトリーとの対話に使用します。Git フックを使用して、アップストリームのリポジトリーにコミットをプッシュできるようにするには、アップストリームのリポジトリーで設定した公開鍵に対応する秘密鍵を指定する必要があります。

前提条件

  • テンプレートを使用して Red Hat Process Automation Manager オーサリング環境をデプロイしている。
  • デプロイメントに GIT_HOOKS_DIR パラメーターを設定している。

手順

  1. 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
    4. 以下の例では、Business Central デプロイメントの ssh キーパスにこのシークレットをマウントします。

      oc set volume dc/<myapp>-rhpamcentr --add --type secret --secret-name git-hooks-secret --mount-path=/home/jboss/.ssh --name=ssh-key

      <myapp> をテンプレートの設定時に設定したアプリケーション名に置き換えます。

  2. Git フックディレクトリーを作成します。方法は、Git hooks reference documentation を参照してください。

    たとえば、単純な Git フックディレクトリーで、変更をアップストリームにプッシュする post-commit フックを指定できます。プロジェクトがリポジトリーから Business Central にインポートされた場合、このリポジトリーはアップストリームリポジトリーとして設定されたままになります。パーミッションを 755 の値に指定し、以下の内容を含めて post-commit という名前のファイルを作成します。

    git push
    注記

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

  3. Git フックディレクトリーを Business Central デプロイメントに指定します。設定マップまたは永続ボリュームを使用できます。

    1. Git フックに 1 つまたは複数の固定スクリプトファイルが含まれる場合は、設定マップを使用します。以下の手順を実行してください。

      1. 作成した Git フックディレクトリーに移動します。
      2. ディレクトリーのファイルから OpenShift 設定マップを作成します。次のコマンドを実行します。

        oc create configmap git-hooks --from-file=<file_1>=<file_1> --from-file=<file_2>=<file_2> ...

        file_1file_2 などは、Git フックのスクリプトファイル名に置き換えます。以下に例を示します。

        oc create configmap git-hooks --from-file=post-commit=post-commit
      3. Business Central デプロイメントの設定したパスに設定マップをマウントします。

        oc set volume dc/<myapp>-rhpamcentr --add --type configmap --configmap-name git-hooks  --mount-path=<git_hooks_dir> --name=git-hooks

        <myapp> をテンプレートの設定時に設定したアプリケーション名に、<git_hooks_dir> はテンプレート設定時に設定した GIT_HOOKS_DIR の値に置き換えます。

    2. Git フックが長いファイルで設定されているか、または実行可能なファイルや KJAR ファイルなどのバイナリーに依存する場合は、永続ボリュームを使用します。永続ボリュームを作成し、永続ボリューム要求を作成して、そのボリュームを要求に関連付けてから、ファイルをそのボリュームに転送し、ボリュームを myapp-rhpamcentr デプロイメント設定にマウントします (myapp はアプリケーション名に置き換えます)。永続ボリュームの作成およびマウント方法は、永続ボリュームの使用 を参照してください。永続ボリュームへのファイルのコピー方法は、Transferring files in and out of containers を参照してください。
  4. 数分待機してから、プロジェクト内の Pod の一覧およびステータスを確認します。Business Central は Git フックディレクトリーが指定されるまで開始されないため、KIE Server は全く起動されない可能性があります。Process Server が起動しているかどうかを確認するには、以下のコマンドの出力で確認します。

    oc get pods

    稼働中の KIE Server Pod がない場合には、これを起動します。

    oc rollout latest dc/<myapp>-kieserver

    <myapp> を、テンプレートの設定時に設定されたアプリケーション名に置き換えます。