Rails 8で採用されている「Kamal 2」は、デプロイメントを大幅に簡素化するツールです。その主な特徴は以下の通りです:
-
単一コマンドでのサーバーセットアップ Kamal 2を使用すると、
kamal setup
コマンド一つでLinuxサーバーをアプリケーションサーバーに変換できます。これにより、クラウドVMや自社サーバーへのデプロイが容易になります。
- Thrusterとの統合による高速デプロイ Kamal 2は、Thrusterという新しいプロキシと統合されており、高速なゼロダウンタイムデプロイやSSL証明書の自動化を実現します。これにより、Nginxなどの外部ウェブサーバーが不要となり、デプロイメントの複雑さが軽減されます。
- 複数アプリケーションのサポート Kamal 2は、単一のサーバー上で複数のアプリケーションを同時にホスティングすることが可能です。これにより、サーバーリソースの効率的な活用が可能となります。
- 自動SSL証明書の取得と更新 Let's Encryptを利用して、SSL証明書の自動取得と更新を行います。これにより、HTTPS対応が容易になり、セキュリティが強化されます。
- Dockerベースのデプロイ Kamal 2はDockerを基盤としており、Docker化されたアプリケーションであれば、Rails以外のフレームワークでもデプロイが可能です。また、Dockerがインストールされていないサーバーでも、Kamal 2が自動的にインストールを行います。
これらの特徴により、Kamal 2は開発者がインフラの専門知識を持たなくても、簡単かつ効率的にアプリケーションをデプロイできる環境を提供します。