2014-12-17 13 views
8

Ich habe die Continuous Integration Tools Travis CI, CircleCI und Codeship ausprobiert, fand aber keine von ihnen bieten Unterstützung Dokument für Fablikator. Hat jemand Ideen, wie man Kontinuierliche Integration (CI) mit Phabricator?Kontinuierliche Integration (CI) mit dem Phabricator?

+0

Meine Firma benutzt Phabricator, um Builds in Jenkins zu starten, aber wir haben CI mit Phabricator nicht wirklich gemeistert. Ich werde dem folgen, um Hinweise für unseren eigenen Gebrauch zu bekommen. – CEPA

Antwort

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 nach GitHub zu schieben, wo Travis nach Filial-Updates sucht. Soweit ich weiß, Travis-CI integriert nur mit GitHub, also wenn Ihr Haupt-Repo ist da und Phabricator zeigt darauf, kann es getan werden.

Wenn Sie diesen Ansatz verwenden möchten, ist der Ort zum Starten mit der Erstellung Ihrer eigenen ArcanistConfiguration und überschreiben didRunWorkflow. Siehe auch Erstellen eines new library. 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 die Phabricator Leitung Blick in differential.createcomment zu Skript-Nachrichten an diffs wie so:

arc call-conduit --conduit="https://my.phabricator.com/" --arcrc-file="robot.arcrc" \ 
    differential.createcomment <<EOF 
{"revision_id":"1234","message":"Yer build done failed"} 
EOF 

Wo robot.arcrc ist eine arcrc Datei mit den Anmeldeinformationen Nachrichten zu drücken, und 1234 ist die Revisionsnummer. Sie müssten die API conduit verwenden, um die Revisionsnummer zu erhalten.

Also, ich denke, die Antwort ist, dass Sie möglicherweise Ihre eigene benutzerdefinierte Lösung erstellen müssen, je nachdem, welche CI-Integration für das CI-Tool Sie integrieren möchten. Und hier ist eine discussion von Travis Unterstützung für Phabricator.

Edit: Hier ist traphic, ein Beispiel für die Erweiterung Arcanist Diffs auf Zweige auf GitHub auf arc diff schieben und entfernen Sie sie auf arc land. Wenn Travis-CI nach einem Update von GitHub sucht, wird es Ihre Diffs erstellen.

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

+0

Ich habe dies bearbeitet, um die ersten zwei Links zu entfernen, die unterbrochen wurden. Fühlen Sie sich frei zu akzeptieren oder weiter zu bearbeiten, wenn Sie bessere Links finden. – d1str0

0

Es könnte erwähnenswert sein, dass das Tool von Fabricator zur kontinuierlichen Integration (d. H. Harbormaster) derzeit entwickelt wird.

Sie können dies in einer Tabelle in ihrer Vergleichsseite finden. Siehe http://phabricator.org/comparison/

Verwandte Themen