Frage

Hat jemand diese Funktion ausprobiert und hat ein Feedback? Oder kennt jemand einige nützliche Muster, um nachzuschlagen?

War es hilfreich?

Lösung

Ich habe diese Funktion vor einigen Monaten ausprobiert, aber ich benutze sie nicht mehr (nur weil ich sie nicht brauche, nicht weil es keine gute Funktion ist).

Grundsätzlich definieren Sie die N -Achse, jede Achse ist eine Eigenschaft mit mehreren Werten.

Lassen Sie uns mit einem Beispiel gehen: Sie definieren die Achse "JDK" mit möglichem Wert "1.4", "1.5", "1.6" und definieren eine andere Eigenschaft "Datenbank", wo mögliche Werte "Oracle", "MySQL" sind.

So startet Hudson Ihren Build 6 -mal:

  • Mit JDK 1.4 mit der Eigenschaftsdatenbank = Oracle (dh der JVM wird mit -Ddatabase = Oracle gestartet)
  • mit JDK 1.5 mit der Eigenschaftsdatenbank = Oracle
  • mit JDK 1.6 mit der Eigenschaftsdatenbank = Oracle
  • mit JDK 1.4 mit der Eigenschaftsdatenbank = MySQL
  • mit JDK 1.5 mit der Eigenschaftsdatenbank = MySQL
  • mit JDK 1.6 mit der Eigenschaftsdatenbank = MySQL

Sobald alles fertig ist, können Sie die Ergebnisse für jede Iteration sehen.

Diese Funktion ist möglicherweise sehr nützlich, wenn Sie Ihre Anwendung in mehreren Umgebungen testen müssen (in meinem Beispiel mit verschiedenen Versionen von JDK oder Datenbank).

Beachten Sie, dass Sie mit Ausnahme der JDK -Achse die Eigenschaft als Eintrag von Hudson selbst verwalten müssen. In meinem Beispiel muss die Anwendung die Eigenschaft "Datenbank" selbst berücksichtigen. Schließlich ist es eine gute Idee, diese Eigenschaft zu verwenden, um ein bestimmtes Profil in der Maven2 -Konfiguration zu aktivieren, wenn Ihr Projekt mavenisiert ist (siehe hier für weitere Details dazu).

Ich hoffe meine Erklärungen sind klar genug :)

Andere Tipps

Matrix -Builds haben eine Reihe von Problemen:

  • Mit Plugins weitgehend unvereinbar - sie werden besser, aber Sie müssen sehr auf dem neuesten Stand sein.
  • Artefakte - viel schwerer zu winden - URLs sind etwas unangenehmer und es ist jetzt ein Albtraum, sie auf dem FS (was Sie sowieso vermeiden sollten) zu finden.

Was eine Schande ist, denn das Konzept ist sehr gut und sehr praktisch, wo es funktioniert.


Bearbeiten

  • Unfähigkeit, einzelne Punkte zu starten.

Unser üblicher Weg darum besteht darin, parametrisierte Builds eingerichtet zu haben, um gleichzeitig zu laufen - was mit eigenen Problemen einhergeht, aber uns mit demselben Code und unterschiedlichen Konstanten viele Arbeitsplätze erspart.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top