Ich mag die Vagrant-zentrierte Antwort von mperrin , aber wie Sie aus den Kommentaren dort ersehen können, ist meine persönliche Meinung, „es einfach zu halten“, und ich würde einen einfachen Export einer VirtualBox-OVA empfehlen, wie Sie sie konfiguriert haben und an Ihre Schüler weitergeben .
Das heißt, Sie fragen dies:
Die Frage ist, wie dies funktioniert, wenn die Leute unterschiedliche Grafikhardware haben. Oder geht das? Und wenn ja, wie verteile ich es? Müssen sie VirtualBox installieren und dann eine Datei laden, die ich ihnen gebe, oder kann ich einfach ein einzelnes Installationsprogramm erstellen?
DevOps werden
Ich bin mir nicht sicher, was Sie unterrichten oder tun oder was Sie von Ihren Schülern erwarten, um aus dieser ganzen Übung herauszukommen, aber viele der Bedenken, die Sie äußern, kehren in den Bereich von DevOps (Entwicklung und Betrieb) zurück und möchten vielleicht zu erwägen, dieses Konzept in Ihre Lehren zu mischen.
Jetzt glaube ich nicht, dass das gesamte Konzept von DevOps vermittelt werden muss, aber in meinen Augen würde Ihre Schaffung einer stabilen VirtualBox-OVA, die Sie dann an die Schüler weitergeben und sie zur Verwendung auf ihren Heim- / Schulmaschinen auffordern, definitiv eine Tür öffnen Fragen, wie man mit verschiedenen Hardware- / System-Setups umgeht und wie man sie anpassen könnte.
Ich empfehle Ihnen daher dringend , den Schülern die Verwendung der von Ihnen eingerichteten VirtualBox OVA zu empfehlen. Sie können den Schülern jedoch auch die Möglichkeit geben, Tools einfach selbst zu installieren. Mein Bauch sagt mir, dass 95% - oder mehr - der Schüler die VirtualBox OVA-Methode gerne und problemlos verwenden würden, aber Sie können nicht erwarten, dass sie zu 100% perfekt ist.
Vielleicht sollten Sie am Ende nur einige grundlegende Anforderungen für die Verwendung der Kurstools haben und flexibel in deren Implementierung sein.
Seien Sie flexibel in Bezug auf die Verwendung von Werkzeugen
Zum Beispiel mache ich viel PHP-Entwicklung und mache Systemadministration / DevOps im Zusammenhang mit PHP-Entwicklung. Und da ich auf einem Mac bin, bevorzuge ich die lokale Entwicklung mit MAMP . Aber ich arbeite mit Entwicklern zusammen, die Linux oder Windows für ihre Entwicklung verwenden. Zum Teufel, manche nutzen Vagrant in Verbindung mit VirtualBox für ihre LAMP-Entwicklungsanforderungen. Und meine Einstellung ist mir egal, wie ihr Basis-Betriebssystem eingerichtet ist. Solange ihre PHP-Version mit den Versionen übereinstimmt, die meine Kunden verwenden, bin ich mit allem in Ordnung.
Gelegentlich gibt ein Entwickler an, dass ein Fehler verursacht wurde, weil beispielsweise Code, den ich auf MAMP getestet habe, "nicht der gleiche" ist wie bei einem Linux-LAMP-Setup. Und ich sage mit 100% iger Sicherheit, dass ich immer bewiesen habe, dass es nicht um das Basis-Betriebssystem, sondern um die PHP-Codierung selbst geht.
Das alles soll im Grunde Folgendes vermitteln: Erklären Sie den Schülern flexibel, wie ein VirtualBox-Setup verwendet wird, und rechnen Sie nicht damit, dass das Füttern eines Betriebssystems alle Probleme einfach beendet. Es könnte 95% Ihrer Probleme aus dem Park werfen, aber die verbleibenden 5% müssen immer auf irgendeine Weise angegangen werden. Betrachten Sie ein VirtualBox-Setup - und vielleicht ein Vagrant-Skript - als ein Tool, das in einem Arsenal verwendet werden kann, um einigen das Leben zu erleichtern, aber nicht unbedingt die endgültige Lösung für alle Probleme.