2013-08-01 10 views
8

Ich habe die Aufgabe, die kontinuierliche Integration zu untersuchen, und eines der Dinge, die ich mir ansehe, ist Gitlab CI.Einrichten von PHPUnit mit kontinuierlicher Gitlab-Integration

Ich habe Gitlab, Gitlab CI und zwei Läufer eingerichtet, aber ich bin absolut fest, wie man das wirklich nutzt. Wie könnte ich etwas wie das Erstellen eines Komponententests machen, ihn zum Repo schieben und ihn von einem der Läufer testen lassen?

Oder fehlt mir hier der Punkt vollständig? Ich bin neu in diesem CI-Zeug (wie in, ich wurde gebeten, dies gestern zu tun und das ist das erste Mal, dass ich in Kontakt mit CI gekommen bin), also wenn ich den Punkt verpasse, lass es mich wissen und zeige mich auf einige Ressourcen.

Vielen Dank.

Antwort

6

Es stellt sich heraus, dass in den Einstellungen für die Läufer oder den Repo im CI-Panel ein Skriptfenster ist. Dies kann verwendet werden, um Shell-Befehle wie phpunit -c /path/to/tests direkt auszuführen und herauszufinden, ob die Tests fehlgeschlagen oder bestanden haben.

Ich denke, das könnte daran liegen, dass PHPUnit an stderr anstelle von stdout ausgibt, aber ich weiß es nicht wirklich - nicht Teil des Umfangs, also habe ich noch nicht nachgeschaut.

1

Sie stellen hier eine ziemlich große Frage. Du wurdest beauftragt, etwas über CI zu lernen. Sie haben GitLab CI und Sie wissen nicht, wie Sie es verwenden. Ich werde zuerst antworten, um zu fragen, ob Sie den Unterschied zwischen einer Build- und einer Skriptausführung verstehen. PHP wird als Vorprozess innerhalb eines Webservers vor dem Senden von HTTP-Inhalten ausgeführt. Es ist kein Build. Java oder C++ würde kompiliert und gebaut werden. Ich würde empfehlen, dass Sie sich die Open-Source-SCons ansehen, aber dann erkannte ich, dass es für kompilierte Builds ist.

Meine zweite Frage ist, verwenden Sie eine Quellcodeverwaltung Repository? Wenn ja, welcher? Für PHP verwende ich Ruby und schreibe meine eigenen Continuous Integration Tools. Ich bin mir nicht ganz sicher. Beantworte meine Fragen. Ich möchte diese Diskussion fortsetzen und Ihnen helfen, dies mit Exzellenz zu lösen.

+0

Dies ist weder ein Diskussionsforum noch eine Werbetafel ... – kleopatra