2017-01-26 7 views
0

travisのドッカーコンテナでセレンテストを実行する環境をセットアップしています。私はこれがどのように動作するかをの概念を持っていますが、これは正しい方法であれば他の人から聞きたい:nginxのが含まれていdocker、travis、および大きなデータベースを使用したテストの自動化

  1. プッシュドッキングウィンドウの画像(ベース-IMGそれを呼び出すことができます)は、MySQL、とPHPをデータベースをプライベートドッカーのレジストリに設定します
  2. トラビスをテストします。トラヴィスはその後すべき:
    • がベース-IMG
    • がベース-IMG
    • が必要なセレンコンテナを作成し、テストを開始し、ベースIMG
    • でそれをリンクの上に右のディレクトリに私のプロジェクトのフォルダを置くを引きます

おそらく、別々の容器には、MySQL、nginxのなどを実行する方が良いだろう。私たちはホスティングプロバイダのベースイメージを持っています。これは、実際にプロダクション環境と同じ環境を提供する必要があるためです。画像にはすでにこれらのものがすべてインストールされています。インポートされたデータベースで新しいイメージを作成するだけです。私は本番データベースで毎日これを行うつもりです。データベースは巨大で(約15GB)、引っ張るにはしばらく時間がかかります。そのような大規模なデータベースはトラビスのために使用すべきか、それとも最小限に抑えるべきか?より良いアプローチがありますか?

答えて

0

セットアップ自体は健全です。私の経験(〜1.8GBの画像を使って)から15GB以上の画像(hub.docker.comから)を引くと、20分以上かかるでしょう。あなたがtravis-ci.orgを利用していると仮定すると、実際のテストでは<は30分のままになります。プロダクションDBの使用に対するもう一つの議論は、テスト結果の再現性です。私はあなたが少なくともコントロールとして常に変化していないDBに対してもテストするべきだと言いたいと思います。

関連する問題