第16章 リポジトリーフック
Decision Central で、フックとして知られるスクリプトを使用し、特定のイベントが発生するたびに、リポジトリーが指定のアクションをトリガーするように設定できます。
16.1. Git フックの設定 リンクのコピーリンクがクリップボードにコピーされました!
Decision Central は、Git フックを使用してリモートのリポジトリーに変更を自動的にプッシュすることができます。コミット後のフックを設定した後に、Decision Central は自動的にリモートリポジトリーに変更をプッシュします。
現在、コミット後にフックのみがサポートされています。コミット後のフックは、コミットプロセスの完了後にトリガーされます。
前提条件
- Red Hat Decision Manager プロジェクトが外部の Git リポジトリーに存在している。
- 外部の Git リポジトリーへの読み取りアクセスに必要な認証情報が利用できる。
手順
- Decision Central にログインします。
-
Menu
Projects を選択します。 - プロジェクトをインポートするスペースを選択または作成します。
-
画面の右側の
をクリックして、Import Project を選択します。
Import Project ウィンドウで、インポートするプロジェクトが含まれる git リポジトリーの URL (例:
https://github.com/USERNAME/REPOSITORY_NAME.git) と認証情報を入力し、Import をクリックします。プロジェクトを Decision Central の Git リポジトリーに追加して、作成したスペースまたはデフォルトのスペースで使用できるようにします。
重要SCP スタイルの SSH URL の代わりに、HTTPS または Git プロトコルを使用します。Decision Central は基本的な SSH URL をサポートしないため、この URL を使用する場合はエラーが発生します。
ターミナルウィンドウで、作成したリポジトリーに移動します。
cd JBOSS_HOME/bin/.niogit/REPOSITORY_NAME.gitJBOSS_HOME/bin/.niogit/REPOSITORY_NAME.git/hooksディレクトリーにpost-commitファイルを作成し、パーミッションをrwxr—r--に設定し、以下のコンテンツを追加します。#!/bin/sh git push origin masterDecision Central で新しいガイドルールを作成して、設定が正しいことを確認します。
-
Menu
Projects Add Asset Guided Rule を選択します。 - 表示された Create new Guided Rule ウィンドウで、必要な情報を入力します。
OK をクリックします。
Decision Central は、リモートリポジトリーにすべての変更を自動的にプッシュします。
-
Menu
org.uberfire.nio.git.hooks システムプロパティーを指定することも可能です。このプロパティーの値として、デフォルトのフックファイルでディレクトリーを指定します。このディレクトリーは、新たに作成した Git リポジトリーにコピーします。この設定を使用する、以下の standalone.xml ファイル例を参照してください。
<system-properties>
<property name="org.uberfire.nio.git.hooks" value="/opt/jboss-as/git-hooks">
</property>
...
</system-properties>