0

私はいくつかの誤解を持っています。私はJenkinsのインスタンス、ESCクラスター、ドッカー作成の設定ファイルを持っていて、イメージを作成してコンテナをリンクします。 gitの後Jenkins:ドッカーでAWS ECSに展開

は私のジェンキンスインスタンスを押して、すべてのリポジトリ(Webアプリケーション、API、ポンド)からのすべてのソースをつかみ、ビルドなどの操作のバッチを作り、ファイルをコピーし、など

その後、私は中Dockerfilesを持つすべてのフォルダを持っています状態 "準備のための準備"。

そしてこの段階では、Jenkinsからのすべてのイメージを取得し、私のdocker-compose.yml configでそれらを作成するために、AWS上でESCクラスタをpingする必要があります。

私は有用な情報を嬉しく思います。

ありがとうございました。

答えて

0

まず、画像をJenkinsサーバーからECRにプッシュする必要があります。すべての画像を独立したレポに個別にプッシュします。

次に、ECSクラスタを作成する必要があります。このクラスタでは、クラスタ内で実行されるECSサービスを作成します。このサービスでは、リンク定義されたコンテナを実行するためのタスク定義を作成および設定します。このためにdocker-composeを使用する必要はありません。ECSでは、Task Definitionの設定でコンテナ間のリンクを定義します。複数のコンテナ定義を同じタスク定義に追加することができ、ECSはそれらをリンクします。

Jenkinsサーバーからこのすべてを自動化するには、ECS APIを呼び出すことができるインスタンスプロファイルを添付します。新しいイメージを展開するには、それらをECRリポジトリにプッシュし、それを指す新しいタスク定義を作成し、これらのタスク定義を実行するサービスを更新するだけです。 ECSは自動的にあなたのために青緑の展開を開始します。

+0

答えのためのTy。私が知る限り、esc-cliのcomposeコマンドはcomposeファイルをタスク定義に変換できます。私は、composeマニフェストで一般的なアプローチを使い、ecsタスク定義をjson形式で手作業で作成しないといけないのです。あなたはどう思いますか? –

+0

ああ、それは少し変わっています。私は '' '' ecs-cli''' APIを使用していませんが、私は[docs](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli -compose-service.html)は、 '' '' 'ecs-cli compose --project-name hello-world --file hello-world.ymlサービススケール2'''を実行することによって、必要なものすべてを作成します。コマンドがイメージをECRにプッシュするかどうかは不明ですが、 '' ecs-cli push''コマンドがあることがわかります。次の2つのことを確認してください。1)ECRに記載されている画像がありますか? 2)タスク定義jsonファイル内の画像のURIはどのように見えるのですか? –

関連する問題