Ändern Sie die Hosts-Datei auf dem Knoten von Jenkins Executor
-
12-12-2019 - |
Frage
Wir planen, unsere Java Web Application Build-Umgebung auf CloudBees zu migrieren, aber ein Aspekt blockiert uns derzeit.Wir entwickeln eine Multi-Mieter-Anwendung.Es verwendet Host-Subdomain, um Mieter zu identifizieren, und wir verwenden Platzhalter-DNS-Einträge in der Produktion (z. B.: * .example.com).
In der Entwicklung haben wir in unserer Hosts-Datei ein paar Einträge in unserer Hosts-Datei gedruckt, um das zu ahmen.Diese Einträge reichen aus, um unsere Tests auszuführen: generasacodicetagpre.
Grundsätzlich sollte Jenkins die Hosts-Datei einstellen, und starten Sie unsere App anschließend mit unserem Webcontainer lokal.Dann wird die Test-Suite gegen die laufende Web-App ausgeführt.
Ich habe versucht, in der Jenkins-Projektkonfiguration einen Vorprozessschritt hinzuzufügen, um die Hosts-Datei zu bearbeiten, aber wie erwartet hat der Jenkins-Job nicht die Erlaubnis, dies zu tun.
Gibt es eine Möglichkeit, die Hosts-Datei zu ändern, bevor meine Test-Suite ausgeführt wird?Oder gibt es noch etwas anderes, um Wildcard-DNS-Einträge zu simulieren?
Lösung
Sie könnten den XIP.IO-Service von 37signals verwenden:
http://37signals.com/svn/Beiträge / 3191-Ankündigung-Pow-040-mit-Xipio-Support
So wären Ihre Hostnamen
- test1.127.0.0.1..oip.io
- test2.127.0.0.1.xip.io
- test3.127.0.0.1..oip.io
- test4.127.0.0.0..1.oip.io
Ich würde mich persönlich versuchen und in einem zentral konfigurierten Bereich aufbewahren, nur für den Fall, dass der Xip.IO-Service außer Betrieb war, aber es ist wahrscheinlich ziemlich billig, um zu arbeiten und sollte zumindest eine Zeit lang sein.