メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ
期間限定:デザインパートナープログラム。BUSINESSプランはずっと無料

フォーク分離の実際

稼働中の PostgreSQL + pgAdmin アプリをフォークして、元のアプリと並べて編集します。フォークが独立していることを目で確かめられます。

フォーク分離の実際

フォークのチュートリアルではコマンドを紹介しました。このチュートリアルではその意味を示します。稼働中のデータベースアプリをブラウザ上で数秒でコピーし、自由に編集しても、元のアプリはまったく気づきません。

チュートリアル動画

セットアップ

稼働中のデータベースとその双子

サーバー上で稼働している本物の PostgreSQL と pgAdmin インターフェース。フォークはその全体を瞬時にコピーオンライトで複製したものです。生まれた時点では同じデータ、その後は完全に独立した存在です。

ステップ1: 稼働中のアプリを確認する

rdc repo list --machine <machine-name>

ライブ repository から始めます。マシン上で pgAdmin が動作している PostgreSQL データベースです。

ステップ2: フォークする

rdc repo fork --parent demo-pgadmin --tag experiment --machine <machine-name> --up --detach

--up --detach を指定して repository を fork します。CoW クローンはほぼ瞬時に完了し、fork のサービスがすぐに起動します。

動画では両方の pgAdmin をブラウザで開きます。元のアプリはログインを求めます。本番は守られています。フォークはワークベンチに直接入れます。フォークは使い捨てのサンドボックスなので、ゲートが横に退きます(リポジトリ自身がフォークかどうかを判断して決めます)。

ステップ3: 2つの世界、1つのサーバー

rdc repo list --machine <machine-name>

repository の一覧を確認します。オリジナルと fork が完全に隔離された状態で並列に動作しています。

フォーク内で何でも編集、削除、壊してみてください。元のアプリはサービスを続けます。フォーク時点では同じテーブル、それ以降はそれぞれ独立しています。

ステップ4: 捨てる

rdc repo delete --name demo-pgadmin:experiment --machine <machine-name>

作業が完了したら fork を削除します。元の repository はそのままです。

作成に数秒、破棄も数秒。だからこそ「本番をクローンして、何も壊さない」が特別なイベントではなく日常の習慣になるのです。


次: シークレットの管理