3.3. (オプション) Git フックディレクトリーの指定
GIT_HOOKS_DIR
パラメーターを設定した場合には、Git フックのディレクトリーを指定して、Business Central デプロイメントにこのディレクトリーをマウントする必要があります。
Git フックは一般的に、アップストリームのリポジトリーとの対話に使用します。Git フックを使用して、アップストリームのリポジトリーにコミットをプッシュできるようにするには、アップストリームのリポジトリーで設定した公開鍵に対応する秘密鍵を指定する必要があります。
手順
SSH 認証を使用してアップストリームリポジトリーを操作する必要がある場合は、次の手順を実行して、必要なファイルを含むシークレットを作成してマウントします。
-
リポジトリーに格納されている公開鍵に一致する秘密鍵を使用して、
id_rsa
ファイルを作成します。 -
リポジトリーの正しい名前、アドレス、公開鍵で
known_hosts
ファイルを作成します。 以下のように
oc
コマンドを使用して、2 つのファイルでシークレットを作成します。oc create secret git-hooks-secret --from-file=id_rsa=id_rsa --from-file=known_hosts=known_hosts
以下の例では、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>
をテンプレートの設定時に設定したアプリケーション名に置き換えます。
-
リポジトリーに格納されている公開鍵に一致する秘密鍵を使用して、
Git フックディレクトリーを作成します。方法は、「Git hooks reference documentation」を参照してください。
たとえば、単純な Git フックディレクトリーで、変更をアップストリームにプッシュする post-commit フックを指定できます。プロジェクトがリポジトリーから Business Central にインポートされた場合、このリポジトリーはアップストリームリポジトリーとして設定されたままになります。パーミッションを
755
の値に指定し、以下の内容を含めてpost-commit
という名前のファイルを作成します。git push
Git フックディレクトリーを Business Central デプロイメントに指定します。設定マップまたは永続ボリュームを使用できます。
Git フックに 1 つまたは複数の固定スクリプトファイルが含まれる場合は、設定マップを使用します。以下の手順を実行してください。
- 作成した Git フックディレクトリーに移動します。
ディレクトリーのファイルから OpenShift 設定マップを作成します。次のコマンドを実行します。
oc create configmap git-hooks --from-file=<file_1>=<file_1> --from-file=<file_2>=<file_2> ...
file_1
、file_2
などは、Git フックのスクリプトファイル名に置き換えます。たとえば、以下のようになります。oc create configmap git-hooks --from-file=post-commit=post-commit
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
の値に置き換えます。
-
Git フックが長いファイルで構成されているか、または実行可能なファイルや KJAR ファイルなどのバイナリーに依存する場合は、永続ボリュームを使用します。永続ボリュームを作成し、永続ボリューム要求を作成して、そのボリュームを要求に関連付けてから、ファイルをそのボリュームに転送し、ボリュームを
myapp-rhpamcentr
デプロイメント設定にマウントします (myapp はアプリケーション名に置き換えます)。永続ボリュームの作成およびマウント方法は、「永続ボリュームの使用」を参照してください。永続ボリュームへのファイルのコピー方法は、「Transferring files in and out of containers」を参照してください。
数分待機してから、プロジェクト内の Pod の一覧およびステータスを確認します。Business Central は Git フックディレクトリーが指定されるまで開始されないので、Process Server は全く起動されない可能性があります。Process Server が起動しているかどうかを確認するには、以下のコマンドの出力で確認します。
oc get pods
稼働中の Process Server Pod がない場合には、これを起動します。
oc rollout latest dc/<myapp>-kieserver
<myapp>
を、テンプレートの設定時に設定されたアプリケーション名に置き換えます。