2017-02-02 6 views
0

私はVagrantの私の人形コードのテストを実行するJenkinsサーバーを作りたがっていました。私が見つけた問題は、vmWareまたはAWSのいずれかで既にVMとしてサーバーを実行していて、Vagrantが別の仮想化として機能しないことです。JenkinsとVagrantとのCI/CD

人形のコード用のテストプラットフォームを作成するにはどうすればいいですか?つまり、class web serverをデプロイするか、それに変更を加えると、他のクラスのデプロイメントに影響を与えるかどうかをチェックしたいと思います。

アイデアは、すべてのクラス/ロールにわたって繰り返し、配備が合格しているかどうかを確認することです。自動化し、エンジニアとは独立させたいと考えています。現時点ではvagrant upで手動テストを実行していますが、手動で行うにはロールが多すぎます。

どのように私はこれに対処できますか?

+0

カタログのコンパイルテストまたは本格的な受入れテストが必要なのかどうかは不明です。一度解明すればどちらかの答えを得ることができます。また、これは本当にCIだけです。ここに展開はありません。 –

+0

私がしたことは、人形がすべてのノード(ウェブ、データベース、何でも...)上で動作し、通過しているというテストでした。ヴァーグラントに関しては、それは必須ではありません。私たちがローカルで使用していたからです。 CI/CDは、GITからプルリクエストを取得し、ノードを反復処理し、マージに失敗してもOKでない場合1つのノードクラスに対する編集が他のノードで何かを壊しているケースがあったため、「すべて」(各クラスから1つ)の反復が発生しました。 – MMT

+0

私はこれがカタログコンパイルテスト(回帰テストであろうと受け入れテストであろうと)であるかどうかを明確にすることを望んでいました。あなたはそれを明確にしていただけますか? –

答えて

1

バゲントにはDockerまたはAWS providerのいずれかを使用できます。

AWSプロバイダの場合、RSyncを設定して、環境を新しく起動するインスタンスにする必要があります。

あなたのバゲットスクリプトが堅牢である場合、ワークステーションのローカル配備とCIサーバーのAWS/Docker配備の両方に同じスクリプトを使用できます。

Dockerの場合、Jenkinsサーバーが実行しているのと同じカーネルに限定されていますが、AWSの場合は追加費用がかかるという欠点があります。ただし、AWSの場合は、Jenkinsサーバー用に多くのリソースを割り当てる必要がないため、テストを実行しているときにのみ余分なVMの支払いを使用するため、このようにお金を節約することさえできます。あなたが終わった後でそれらをシャットダウンすることを確かめてください。

1

放流剤を使用する特別な理由はありますか?私はあなたが迷惑な人とあなたの生産環境を設定しているかどうかは分かりません。

あなたは浮浪者にバインドされていない場合、私はあなたのセットアップと検証を実行するための軽量な環境を準備するためにドッキングウィンドウの画像を使用して考えるようにあなたをお勧めしますが。

テストをやって、コンテナをスピンアップあなたの人形の分布を含むあなたのイメージからあなたの設定/テストを実行してください。特別なカーネル要件がある場合は、jenkinsマスター上でジョブを実行するのではなく、別のjenkinsスレーブ/エージェントマシンを使用してください。

ドッカーと一緒にジェンキンを使用する方法がわからない場合は、Jenkins Documentationのサンプルセクションをご覧ください。提供された例は、まだ少し新しくなっている宣言的パイプライン構文を示しています。また、折りたたまれたToggle Scripted Pipelineセクションでは、ジェンキンスパイプラインの初心者の方々にはもっと寛容なGroovyパイプラインスクリプトが表示されます。

これらは、ドッカーの中であなたの人形のスクリプトを実行して+テストを開始するには、かなり良い指針になるはずです。ドッカー画像を作成して使用するには、十分な数のチュートリアルが必要です。

これが正しい方向のヒントだったのか、私があなたの質問を誤解したかどうか教えてください。

関連する問題