動作確認用サーバとそれぞれのサーバにデプロイされたgitブランチの対応表を生成するツール
下の図のようにPigeonhole管理下にあるサーバとブランチが表示される
- HTTP POSTリクエストによってホスト名、ブランチ名を登録. CIでデプロイ後にPOSTリクエストする使い方を想定
# 例
curl -X POST -d Payloads={\"host\":\"${HOST_NAME}\"\,\"branch\":\"${BRANCH_NAME}\"} http://<Pigeionholeのホスト>:<ポート>/hook/deploy
- ダッシュボードでサーバのホスト名とブランチ名の一覧表示
- サーバ一覧表示、サーバの登録削除
src/main/resources/application.conf で設定されているPostgreSQLに下記のテーブルを生成する
CREATE TABLE host_branch
(
id serial NOT NULL,
branch_name character varying(128),
host_machine_id integer NOT NULL,
deploy_time timestamp with time zone,
CONSTRAINT id PRIMARY KEY (id),
CONSTRAINT host_branch_host_machine_id_key UNIQUE (host_machine_id)
)
CREATE TABLE host_machine
(
id serial NOT NULL,
name character varying(64) NOT NULL,
CONSTRAINT host_machine_pkey PRIMARY KEY (id),
CONSTRAINT host_machine_name_key UNIQUE (name)
)
プロジェクトのルートディレクトリで下記のコマンドを実行
デフォルトで8888番ポードで起動する
./gradlew run
鳩の巣原理(pigeonhole principle)から拝借
開発時にサーバの取り合いを防ぐにはブランチの数だけサーバを用意しないといけない
”小さく区切られた整理棚”を表す単語でもあるので、ブランチとサーバの対応関係を整理するという意味も込めた