2016-05-12 5 views
0

Kann GitHub beim Senden einer Pull-Anforderung eine neue Testbereitstellung auslösen? Ich möchte dafür einen neuen Ordner auf dem Server erstellen (bevorzugt Azure), damit eine Test-URL (z. B. http://testserver.com/PR602/) generiert wird, auf die wir in der Pull-Anforderung verweisen können.Bereitstellen einer Testweb-App für jede GitHub-Pull-Anforderung

Dies würde jedem erlauben, eine Pull-Anfrage zu testen, ohne den Repo klonen zu müssen, den Zweig zu überprüfen und ihn lokal zu erstellen.

In meiner anfänglichen Forschung fand ich, dass Travis CI kann deploy all branches, aber mir ist nicht klar, wie dies ausgelöst werden würde. Muss ich eine benutzerdefinierte App schreiben, die von pull request web hooks ausgelöst wird? Ich hoffe, dass jemand eine einfachere Methode entdeckt hat.

+1

Überprüfen Sie [dieses Dokument] (https://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/). Es ist möglich und sehr einfach einzurichten. –

+0

Danke, @JackZeng. Wenn ich nicht etwas verpasse, sind alle Anweisungen zum Bereitstellen einer bestimmten Verzweigung. Ich möchte jede Pull-Anforderung automatisch in einem neuen Ordner bereitstellen, unabhängig davon, aus welchem ​​Zweig sie stammt. –

+1

oh, ich verstehe. Sie möchten, dass jede Pull-Anforderung eine eindeutige URL hat, sodass jeder Benutzer seine Commits einzeln testen kann. Entschuldigung, ich habe dich missverstanden. Das ist eine interessante Frage. Ich werde etwas graben und sehen, was ich tun kann. –

Antwort

1

Muss ich eine benutzerdefinierte App schreiben, die von Pull-Request-Web-Hooks ausgelöst wird?

Ja, oder finden Sie jemand anderen, der zufällig den genauen Webhook-Handler geschrieben hat, den Sie benötigen.

Schreiben eines Webhook-Handler ist nicht sehr viel Arbeit. Wenn Sie es nicht in Ihre aktuelle App integrieren möchten, können Sie ein Micro-Framework wie Flask verwenden, um dies in nur wenigen Zeilen Code zu tun.

+0

Ich versuche genau das zu tun, um PR-Validierungsprüfungen mit Bamboo Build-Plänen durchzuführen. Gibt es ein Beispiel, auf das Sie mich hinweisen können? – BoltzmannBrain

+0

Bamboo hat bereits Webhook-Handler eingerichtet; Sie müssen nur [GitHub mit ihnen verbinden] (https://answers.atlassian.com/questions/212403/how-to-trigger-bamboo-from-github). –

+0

Vielen Dank, aber mir ist nicht klar, wie das mit GitHub für PR-Validierungsprüfungen integriert werden kann. Wie kann Bamboo einen Build-Zweig erstellen, der spezifisch für den GitHub-Commit ist, der ihn ausgelöst hat? Und wie kann Bamboo Buildstatus (ausstehend, fehlgeschlagen, bestanden) an GitHub zurücksenden? Es scheint, ich brauche eine Web-App für diese ... – BoltzmannBrain