symlink swap deploy とは何か?
symlink swap deploy は、各リリースを専用のディレクトリにステージし、稼働中のものを current のような安定した symlink 経由で公開します。リリースとは、その symlink を新しいディレクトリへアトミックに張り替えることであり、これによってアクティブなバージョンが単一の操作で切り替わります。ロールバックは symlink を以前のディレクトリに向けるだけです。
なぜ重要か
symlink の更新はアトミックなので、どのリクエストも部分的にコピーされたリリースを見ることはなく、切り替えは事実上瞬時です。過去のリリースディレクトリをいくつか保持しておけば、ロールバックはほぼゼロコストのポインタ変更になります。トレードオフは、保持するリリースのためのディスク容量と、swap 時にプロセスが新しいパスを確実に拾うようにする配慮です。
関連ガイド
What Is an Atomic Deploy?An atomic deploy switches traffic to a fully prepared new release in a single instant, so users never see a h…
What Is a Branch Deploy?A branch deploy publishes a deployment built from a specific branch, letting teams preview or release work fr…
What Is Environment Promotion?Environment promotion advances a release from one environment to the next, such as staging to production, aft…