第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.git
cd JBOSS_HOME/bin/.niogit/REPOSITORY_NAME.git
Copy to Clipboard Copied! JBOSS_HOME/bin/.niogit/REPOSITORY_NAME.git/hooks
ディレクトリーにpost-commit
ファイルを作成し、パーミッションをrwxr-r-
に設定し、以下の内容を追加します。#!/bin/sh git push origin master
#!/bin/sh git push origin master
Copy to Clipboard Copied! Decision 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>
<system-properties>
<property name="org.uberfire.nio.git.hooks" value="/opt/jboss-as/git-hooks">
</property>
...
</system-properties>