2016-08-30 4 views
1

マルチモジュールのmavenプロジェクト(各サブモジュールはマイクロサービスを表す)として編成された独自のマイクロサービスプロジェクト用のjenkinsを使用してContinuous Deploymentをセットアップしようとしました。ジェンキンズでは、「増分ビルド - 変更されたモジュールのみをビルドする」を使用して、不確定なビルドを避けてから、docker-maven-pluginを使用してドッカー画像を構築します。しかし、変更されたイメージのみをkubernetesクラスタに再デプロイするにはどうすればよいですか?どのようにアプリケーションを取得するkubernetesへのインクリメンタルデプロイ

答えて

0

ローカルドッカーのイメージレジストリを使用できます。 docker run -d -p 5000:5000 --restart=always --name registry registry:2 その後、ビルドステップとしてこのレジストリに開発イメージをプッシュし、kubernetesコンテナがこのレジストリを使用できるようにします。

準備ができたら、イメージを本番イメージレジストリにプッシュし、適切なレジストリを使用するようにコンテナマニフェストを調整します。

さらに詳しい情報については、https://docs.docker.com/registry/deploying/

+0

お返事ありがとうございます。たぶん私は私の質問をはっきりと記述しなかったかもしれない。たとえば、2つのサブモジュールA1とA2を持つMavenプロジェクトAを作成しました。 A1の変更をコミットすると、ジェンキンズのプロジェクトAのciワークフローがトリガされ、次にmavenがインクリメンタルビルドを行い、A1の新しいドッカー画像を作成します。 A2は変化がないことに注意してください。しかし、どのドッカーイメージが変更され、kubernetesクラスタに再デプロイする必要があるかを簡単に知る方法はありますか? –

+0

これらのイメージをクラスタにどのように展開するのですか? – Nebril

+0

私の開発環境では、私はcomman "kubectl create"または "kubectl apply"を手動で実行して、ポッドやサービスを展開することができます。しかし、CI/CDのワークフローでは、gitリポジトリにコミットされた変更に応じて、それらを自動的に展開または再デプロイする必要があります。 –

関連する問題