場合によっては、顧客の環境でのみ発生する問題を再現する必要があります。仮想マシンを手動でセットアップして環境を十分にミラーリングすることもできますが、これを半自動的に実行する方法を見つけることができれば非常に便利です。
つまり、「このバージョンの Linux を実行し、このバージョンの PHP がインストールされている環境を作成する」などを実行できるものを探しています。その後、その環境にログインして再現手順を実行できるようになることを期待しています。
これらの環境は、明らかに比較的短命です。特定の問題を一度再現すると、同じ環境を再度作成する必要がなくなる可能性があるからです。とはいえ、再度必要になった場合に備えて、環境構成がバージョン管理しやすい形式になっていると便利です。
このタイプのユースケースに適したテクノロジーはありますか?
関連があるかもしれないと聞いたことのあること
- Proxmox (それだけでは過剰で不十分に思える)
- Vagrant (それだけでは不十分な場合があり、Ansible のような構成管理も必要になる場合があります)
- Docker (通常は完全な OS 環境を再現するのではなく、単一のアプリケーションを実行するために使用されます)
これらのうち、このユースケースに適したものはありますか? 他のオプションを検討する必要がありますか?
答え1
私はこれまで、この目的のために docker をほとんど使用してきましたが、問題なく動作しました。docker を調べることをお勧めしますが、その質問は Software Recommendation StackExchange で尋ねる方がよいでしょう。
答え2
シェル スクリプトを使用してマシンをプロビジョニングすることもできることを知り、最終的に Vagrant を使用することにしました。https://www.vagrantup.com/intro/getting-started/provisioning.html
これは、バージョン管理可能なシンプルなテキストベースの構成を使用して、自分の環境とは別の一時的な特定の環境をすばやくセットアップすることで、目的を達成するための最も労力のかからない方法のように思えます。