JanBern: Deployment-Strategien mit GIT

Hi,

ich möchte aus dem Repository auf dem Remote gern ins Livesystem deployen. Dazu habe ich den "post-receive"-Hook gefunden.

Was mir fehlt, ist aber die Möglichkeit, bestimmte Verzeichnisse/ Dateien vom Deployen auszuschließen. So haben wir im Repository u.a. auch Dokus gespeichert, damit jeder Entwickler beim Pullen in sein lokales Repository ALLE Informationen hat.

Gibt es denn generell die Möglichkeit, bestimmte Verzeichnisse/ Dateien vom Deployen auszuschließen? Oder sollte man besser in ein Development-Verzeichnis auf dem Webserver deployen und dann mit einem anderen Mechanismus die notwendigen Dateien ins Live-Verzeichnis kopieren?

Weiterhin wäre es für mich interessant, nicht bei jedem Push ins Remote-Repository das "post receive" anzustoßen. Sondern nur, wenn ich es explizit möchte. Geht das irgendwo einzustellen?

Vielen Dank Jan

  1. Tach!

    Gibt es denn generell die Möglichkeit, bestimmte Verzeichnisse/ Dateien vom Deployen auszuschließen?

    Deployen ist keine Angelegenheit von Git. Was auch immer du in den Hooks machst, ist deine Angelegenheit.

    Oder sollte man besser in ein Development-Verzeichnis auf dem Webserver deployen und dann mit einem anderen Mechanismus die notwendigen Dateien ins Live-Verzeichnis kopieren?

    Zum Beispiel so.

    Weiterhin wäre es für mich interessant, nicht bei jedem Push ins Remote-Repository das "post receive" anzustoßen. Sondern nur, wenn ich es explizit möchte. Geht das irgendwo einzustellen?

    Nicht dass ich wüsste. Aber du kannst in den Hooks Daten zum Commit abfragen, beispielsweise ob ein bestimmter Tag oder ein bestimmter Branch gepusht wurde. Alles, was für das Produktivsystem vorgesehen ist, kommt in einen speziellen Branch, und nur wenn der gepusht wird, führst du dein Deployment aus.

    dedlfix.

    1. Vielen Dank für die schnelle Antwort.

      Deployen ist keine Angelegenheit von Git. Was auch immer du in den Hooks machst, ist deine Angelegenheit.

      Was würdest du als Strategie empfehlen, wie ich vorgehen sollte?

      Danke Jan

      1. Tach!

        Was würdest du als Strategie empfehlen, wie ich vorgehen sollte?

        So, wie ich bereits schrieb. Branch fürs Produktive und individuelles Script fürs Deployment.

        dedlfix.