2017-11-06 3 views
1

rake db:migrateをECSサービスで実行する方法を理解しようとしていますが、展開後は1台のマシンでのみ実行します。Rails migration on ECS

誰でもその経験がありますか?

ありがとうございました

+0

コンテナの下で実行する必要がありますか? –

+0

私は気にしません。私はそれを自動化したい – Himberjack

答えて

1

Amazon ECSのワンオフタスクで行うことができます。

  1. dockerファイルでrake db migrateを "CMD"としてドッキング画像を作成します。
  2. タスク定義を作成します。タスク定義と目的のタスク番号を "1"として作成しながら、ホストごとに1つのタスクを選択できます。
  3. クラスタ内で1回限りのECSタスクを実行します。それをサービス外にしてください。タスクが完了すると、コンテナは自動的に停止します。

デプロイメントの前にこれを行うスクリプトを作成できます。その後、いつものように他のタスクを定義することができます。

Amazon ECSのコンテナライフサイクルはhttp://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_life_cycle.htmlです。ただし、これはドッカーのデフォルトの動作です。

あなたのために働くかどうか教えてください。