皆さんにとって楽しいチャレンジがあります。私が働いている会社は、開発/リリースのワークフローと環境を設定しています。最終的な本番環境は、Virtuozzo仮想化環境内でCentOSを実行する人気のあるホストでホストされるVPSです。
本番環境の仮想化インスタンス(またはそれに近いもの)を各開発者のローカルシステムにインストールしたいと思います。これにより、各開発者は、問題が発生したときに他の人のシステムを汚染することなく、自分のシステムでローカルに変更をテストできます。
明らかに、これを行うには多くの方法がありますが、優れた特定のアプローチがあると思います。これは私があなたの助けを必要とするところです。
これまでのところ、最良の選択肢は次のようです。
Virtuozzo VMをエクスポート/バックアップします。ローカルシステムにダウンロードして、Virtuozzoコンテナにインストールします。
これは最もクリーンで純粋なソリューションですが、機能しない場合があります。たとえば、複製されたVMには、VPSのネットワークからのすべてのネットワーク構成が含まれます。これら(およびその他の古い構成値)を更新するスクリプトを作成するのは難しいので、ローカルVMに適していますか?
任意の仮想化製品で作成された同様に構成されたVM)にコードベースをデプロイします。
このアプローチはそれほどクリーンではありませんが、うまくいくことはわかっています(以前にやったことがあります)。たとえば、同じバージョンのCentOS、Apache、MySQLなどをローカルのVMWareVMにインストールできます。環境は実稼働環境と同じではありませんが、このワークフローを実行可能にするのに十分近い可能性があります。
別のオプション?
他にどのような選択肢があると思いますか?または、これらのオプションの1つが最適ですか?私はあなたの考えを聞いてみたいです! :)
編集:
本番サーバー上の複数のcPanel /ユーザーアカウント
VPSのカスタマーサポートに連絡して、Virtuozzoバックアップにアクセスできるかどうかを確認しました。彼は私たちの要求を拒否しましたが、開発者ごとに個別のcPanel /ユーザーアカウントを作成してみるよう提案しました。これにより、環境をサーバーの環境と同じにすることができますが、環境がローカルではなくリモートで実行されるため、少し不便になります。それでも、まともなオプション。
これはあなたのために完全に機能します...
ソース上VMインスタンス.。
Sudo su
cd /
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
ターゲットマシン(専用またはVPS)
tar xvpfz backup.tgz -C /
そして、除外されたdirが再作成されていることを確認してください
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
素敵なMicrosoftVirtualPC Linuxイメージを作成して、全員に配布するだけです。