Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
第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
JBOSS_HOME/bin/.niogit/REPOSITORY_NAME.git/hooksディレクトリーにpost-commitファイルを作成し、パーミッションをrwxr—r--に設定し、以下のコンテンツを追加します。#!/bin/sh git push origin master
Decision Central で新しいガイドルールを作成して、設定が正しいことを確認します。
- Menu → Projects → Add Asset → Guided Rule を選択します。
- 表示された Create new Guided Rule ウィンドウで、必要な情報を入力します。
OK をクリックします。
Decision Central は、リモートリポジトリーにすべての変更を自動的にプッシュします。
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>