Wir verwenden zwei Linodes zum Hosten unserer Anwendung: einen für die Produktion und einen für die Staging-Umgebung.
Ich möchte es so einrichten, dass Code, der in den development
Zweig unseres Git-Repositorys gepusht wird, automatisch auf dem Staging-Server bereitgestellt wird. Und wenn Code in den master
Zweig gepusht wird, wird dieser Code automatisch auf unserem Produktionsserver bereitgestellt.
Ich habe ein paar ähnliche Skripte gesehenGitHubHookdie die Service Hooks-Funktion von GitHub verwenden, aber ich kann keine Beispiele finden, bei denen master
und development
auf völlig unterschiedlichen Servern bereitgestellt werden (und nicht nur in unterschiedlichen Unterordnern desselben Servers).
Welche Möglichkeiten stehen mir zur Verfügung? Ich wäre für jede Antwort, die mich in die richtige Richtung weist, sehr dankbar!
Ich kann die Frage bei Bedarf klären :)
Antwort1
Ich würde dringend empfehlen, in ein CI/Build-System wie Jenkins oder Atlassian Bamboo zu investieren.
Bamboo ist ein nettes Tool für DevOps und würde Ihr Problem leicht lösen. Es überwacht Ihre Repos auf Commits und kann automatisierte Builds, Unit-Tests und Bereitstellungen starten. Sie können Build-Pläne und Bereitstellungsaufgaben für Ihre verschiedenen Zweige konfigurieren.