2017-02-22 6 views
0

私は少し混乱しています。 Jenkins、Docker、Chefを使用してCIとCDソリューションをセットアップするコースの一環として、フローの仕方は指定されていません。シェフとドッカー

私たちはJenkinsをセットアップしています。新しいgit commitのたびに、テストに必要な特定のコンテナを回転させてJenkinsのスレーブを作成し、テストを中断して結果を報告します。

シェフとドッカーを継続的な配達/配備に使用することについての情報は、今日見てきました。私が見るユースケースは以下の通りです。シェフではマシンの展開オプション、各サーバー、データベースなどのマシン数を指定します。 Jenkinsのスレーブがアプリケーションを正常にビルドしてテストすると、すぐにデプロイする必要があります。シェフで古いコンテナを取り除き、新しいコンテナを建設し、構成やその他の必要な管理を行います。

同様の使用事例の情報を探していて、そこにはそれほど多くの情報がないようです。シェフプロビジョニングドッカーが付いたシェフプロビジョニングプラグインで微妙に変化しましたが、例えばドッカープラグインの使用に関する情報は直感的ではありません。その後、私はこの記事(https://coderanger.net/provisioning/)を見つけて、基本的にはchef-provisionプラグインの使用を開始する新しいプロジェクトを勧めていません。

私が紛失しているものはありますか?普及していない、あるいはばかげたものではないでしょうか?私が逃した他のプラグインや、より適したシェフとの別のセットアップはありますか?

事前に乾杯!

答えて

1

この種の純粋に手続き的なものは、シェフのためのものではありません。 Jenkinsと直接統合されたものをプラグインとして使用したいと思うでしょう。あるいは、もしあなたが料理本の統合テストについて話しているのであれば、あなたのための容器管理を扱うことができるキッチンドッカーとキッチンドックケンのドライバーがあります。

編集:上記の内容は本当に問題ではなかった、新しい答え。

探しているツールは通常、リソーススケジューラまたはクラスタオーケストレーターと呼ばれます。シェフは、シェフプロビジョニングまたはdocker料理ブックを通じてこれを行うことができます。それらの2つの間で私は後者を使用します。しかし、それはシェフが本当にこの仕事のための最良のツールではないと言いました。 Mesos + Marathon、Kubernetes、Nomad、docker-compose + swarmなどの専用スケジューラの全世代があります。これらのすべての中で、ノマドはおそらく最もシンプルですが、Kubeには大きなコミュニティがあり、急速に成長しています。私はこれを仲介のステップとしてChefを使うことをお勧めします。

+0

は、私はかなりシェフが連続配信部分をやりたいです。特定のアプリケーションで新しいコンテナを作成する。私はシェフの食糧がそれのために作られていることを知っています(https://www.youtube.com/watch?v=LTTejR-5dIU)、それはaws、googleクラウドまたはドッカーのシェフプロビジョニングドライバーになることができます。私はJenkinsのプラグインがいくつか存在するかもしれませんが、Chefはソリューションの配信部分に必要なものです。 – mrmjauh

+0

あなたはテストを実行しているか、実際のproduction-y作業について話していますか? – coderanger

+0

私は生産作業を推測し、テストはJenkinsのスレーブで実行されます。 – mrmjauh

0

kubernetes、docker swarm、またはmesosのようなコンテナオーケストレーションプラットフォームを使用することをお勧めします。個人的にはkubernetesを使用することをお勧めします。

シェフは構成管理ツールとして優れており、プロビジョニングコンテナとして使用することができますが、最適な解決策ではありません。コンテナをプロビジョニングする場所の管理、コンテナの状態の監視、障害の処理方法などの問題が発生します。 kubernetesのようなプラットフォームがこれを処理します。

これは、いくつかのinsigthsを得るために有用であろう:もっと https://www.youtube.com/watch?v=24X18e4GVbk

が読み: http://www.devoperandi.com/how-we-do-builds-in-kubernetes/

関連する問題