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?
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 ).
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:
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.
Tags und Links continuous-integration travis-ci circleci phabricator