Kontinuierliche Integration (CI) mit dem Phabricator?

8

Ich habe die Continuous-Integration-Tools Travis CI, CircleCI und Codeship ausprobiert, fand aber heraus, dass keine von ihnen ein Unterstützungsdokument für den Fabricator liefert. Hat jemand Ideen, wie man kontinuierliche Integration (CI) mit dem Fabricator durchführt?

    
Hanfei Sun 17.12.2014, 03:01
quelle

3 Antworten

5

Wenn Sie Jenkins benutzen, haben die netten Jungs von Uber ein Jenkins-Phabricator-Differenz-Plugin , mit dem Sie Ihre Job-Konfigurationen wirklich bereinigen können (sofern Sie sie bereits über die Links von zerodiffs Beitrag ).

    
Jonas Arneberg 14.10.2015, 07:33
quelle
8

Ich habe eine Integration mit Travis-CI gemacht, indem ich Post Diff und Land Hooks zu Phabricator hinzugefügt habe, um Diffs als Zweige zu GitHub zu schieben, wo Travis nach Filial-Updates sucht. Soweit ich weiß, Travis-CI integriert nur mit GitHub, also wenn Ihr Hauptrepo ist da und Phabricator darauf zeigt, kann es getan werden.

Wenn Sie diesen Ansatz verwenden möchten, müssen Sie zunächst Ihre eigene ArcanistConfiguration erstellen und überschreiben didRunWorkflow . Siehe auch Erstellen einer neuen Bibliothek . Die API-Dokumentation ist ziemlich gut, aber ich musste einige Versuche durchprobieren, um zu bekommen, was ich wollte. Die Leute von der Faschinerie sind wahrscheinlich glücklich, Fragen zu beantworten.

Sie können auch in den Phabricator Conductor differential.createcomment schauen, um Nachrichten an Diffs zu schreiben:

%Vor%

Dabei ist robot.arcrc eine arcrc -Datei mit den Anmeldeinformationen zum Übertragen von Nachrichten und 1234 ist die Revisionsnummer. Sie müssten die conduit API verwenden, um die Revisionsnummer zu erhalten.

Also, ich denke, die Antwort ist, dass Sie möglicherweise Ihre eigene benutzerdefinierte Lösung erstellen müssen, abhängig davon, welche CI-Integration für das CI-Tool, in das Sie integrieren möchten. Und hier ist eine Diskussion über Travis-Unterstützung für Phabricator.

Bearbeiten: Hier ist trapic , ein Beispiel für das Erweitern von Arcanist, um Diffs zu Zweigen auf GitHub auf arc diff zu schieben und sie zu entfernen %Code%. Wenn Travis-CI nach einem Update von GitHub sucht, wird es Ihre Diffs erstellen.

Randnotiz: Dies ist meist ein Gehirn-Dump. Ich weiß, gute Antworten haben mehr Codebeispiele und Links sind verpönt, aber die Frage war ziemlich offen und suchte nach Zeigern, also versuche ich, hilfreich zu sein.

    
zerodiff 22.01.2015 16:50
quelle
0

Vielleicht ist es erwähnenswert, dass das Tool von Fabricator zur kontinuierlichen Integration (d. h. Harbormaster) derzeit entwickelt wird.

Sie finden dies in einer Tabelle auf ihrer Vergleichsseite. Siehe Ссылка

    
ray 20.06.2015 03:49
quelle