Flynn は、コンテナ上でアプリケーションやデータベースを実行・スケール・管理するために設計されたオープンソースの Platform-as-a-Service (PaaS) です。
典型的なワークフロー
- Flynn クラスタを起動(AWS、DigitalOcean、または Vagrant 上)
flynn cluster addでクラスタ認証情報を登録flynn create <app_name>でアプリケーションを作成- Git でデプロイ:
git push flynn master
クラスタ管理
インストール&クラスタセットアップ
flynn install # AWS EC2 等に Flynn をプロビジョニング
flynn key add # SSH 公開鍵をクラスタに追加
クラスタ認証情報 (~/.flynnrc)
flynn cluster # 設定済みクラスタの一覧表示
flynn cluster add [-g githost] [-p pin] NAME URL KEY # ローカル CLI をクラスタに接続
flynn cluster remove NAME # クラスタ設定の削除
flynn cluster default NAME # アクティブなデフォルトクラスタを設定
アプリケーションのライフサイクル
新規アプリの作成
cd ~/my-project
flynn create example # 'flynn' という名前の Git リモートを追加
flynn route # デフォルトの HTTP ルートを確認
git push flynn master # ビルドとコードのデプロイ
CLI コマンド
環境変数
flynn env # 全環境変数を一覧表示
flynn env set KEY=value FOO=bar# 設定変数を登録してデプロイをトリガー
flynn env unset KEY # 設定変数を削除
flynn env get KEY # 特定の環境変数の値を出力
プロセスのスケーリング
flynn scale web=3 worker=2 # web を 3、worker を 2 にスケール
flynn scale # 現在稼働中のプロセス数を表示
flynn ps # 個々のコンテナインスタンスをすべて一覧表示
ログ&モニタリング
flynn log # クラスタ全体のリアルタイム統合ログを追跡
flynn log -f # ライブストリームを追従
flynn log --process=web # プロセスタイプでログを絞り込み
コマンド&ワンオフタスクの実行
flynn run bash # コンテナ内で対話型 bash シェルを開く
flynn run rake db:migrate # 単発のデータベースマイグレーションを実行
ドメイン&ルート管理
flynn route # 全 HTTP / TCP ルートを一覧表示
flynn route add http app.domain.com # カスタムドメインをアプリに紐付け