Schließen Sie Verzeichnisse von der Bereitstellung von Elastic Beanstalk aus

Lesezeit: 3 Minuten

Ich habe einige Verzeichnisse, die ich gerne in meinem lokalen Git-Repository haben möchte, aber NICHT im Remote-Repository, wenn ich sie in meiner Beanstalk-Umgebung bereitstelle.

Ich habe ein bisschen gegoogelt und einige Jahre alte Beiträge wie diesen gefunden:

http://blog.beanstalkapp.com/post/38164899272/patterns-for-excluded-deployment-paths

die erklären, dass es diese Option irgendwo gibt, aber ich habe überall gesucht und kann sie nicht finden. Ich denke, es muss noch da sein und möglicherweise wurde es verschoben?

Wenn das hilft (obwohl es wahrscheinlich keinen Unterschied macht), habe ich eine Umgebung, die auf der Beispielanwendung node.js basiert. Wo ist diese Option?

Ist es möglich, dies stattdessen in einer Konfigurationsdatei im Ordner .ebextensions zu tun?

Mit dem Strom eb cli v3.x elastische Bohnenstange unterstützt die .ebignore Datei. Es folgt dem gleichen Format wie a .gitignore -Datei und ersetzt sie bei der Bereitstellung.

Wenn Sie verwenden möchten .ebignore dann musst du deine kopieren .gitignore in die Datei und fügen Sie dann die zusätzlichen Ausschlüsse zur Datei hinzu. Wenn Sie Ihre bearbeiten .gitignore Datei in Zukunft müssen Sie alle Änderungen in Sie replizieren .ebignore Datei.

Sehen Elastic Beanstalk docs für weitere Details

  • Dies sollte nun die ausgewählte Antwort sein. (Von dem Typ, der die aktuell ausgewählte Antwort hat)

    – Nick Humrich

    21. Mai 2015 um 22:27 Uhr


  • Ja, ich habe es jetzt ausgewählt, obwohl ich keine Gelegenheit hatte, es zu testen, da ich eine (sehr hackige) Problemumgehung verwendet habe. Ich sollte jetzt wohl auf diese Lösung umsteigen

    – Gi

    22. Mai 2015 um 9:28 Uhr

  • Es ist erwähnenswert, dass Sie einen Nachlauf benötigen / hinter dem Ordner, um seinen gesamten Inhalt auszuschließen. Z.B node_modules/. Ohne sie wird der gesamte Ordner archiviert und hochgeladen.

    – Trugbild

    15. Juli 2016 um 10:28 Uhr

  • Eine Synchronisierung ist möglicherweise nicht erforderlich .gitignore und .ebignore wenn Sie die EB-CLI verwenden deploy Befehl: „Wenn git installiert ist, verwendet EB CLI den Befehl git archive, um eine .zip-Datei aus dem Inhalt des letzten git commit-Befehls zu erstellen.“ Das git archive Befehl sollte den Inhalt von respektieren .gitignore. In diesem Szenario vielleicht .ebignore filtert weiter, was von bereitgestellt wird Staging-Verzeichnis?

    – Carl G

    11. November 2017 um 15:13 Uhr

  • Tatsächlich scheint .ebignore weiter zu filtern, was noch nicht in .gitignore enthalten ist

    – Oded

    6. August 2020 um 17:51 Uhr

Leider ist dies derzeit nicht möglich. Die beste Problemumgehung besteht derzeit darin, eine eigene ZIP-Datei zu erstellen und die CLI anzuweisen, sie stattdessen zu verwenden. Sie können dies tun, indem Sie die folgenden Zeilen zu .elasticbeanstalk/config.yml hinzufügen

deploy:
  artifact: /path/to/file.zip

Wenn Sie Ihre Zip-Datei skripten können, können Sie einen Alias ​​wie hinzufügen

alias ebdeploy="zip {your zip stuff here}; eb deploy"

  • Auch wenn dies nicht der neueste und beste Weg ist; Dies funktioniert immer noch und zeigt eine interessante Option. Hochgestimmt.

    – Georg Stocker

    1. Juni 2015 um 14:11 Uhr

  • @GeorgeStocker eine Idee, wie man das jetzt bewerkstelligen kann? Der Artefakttrick funktioniert hier definitiv nicht.

    – Emil Ahlbäck

    21. August 2015 um 12:44 Uhr

  • @EmilAhlbäck Ich habe diesen Trick auf der WWW-Seite von Jewelbots verwendet: github.com/Jewelbots/www/commit/… und es hat funktioniert; Wenn Sie über eine .ebignore-Datei verfügen und die neueste Version der EB CLI verwenden, können Sie einfach die .ebignore-Datei verwenden und normal bereitstellen.

    – Georg Stocker

    21. August 2015 um 13:56 Uhr

  • Der Artefakt-Trick funktionierte bei mir eher zufällig. Scheint ein Problem mit dem CLI-Client zu sein. Ich habe alles außer meiner Dockerrun.aws.json-Datei zu .ebignore hinzugefügt … heh! Danke für die Hilfe und Follow-up @GeorgeStocker

    – Emil Ahlbäck

    24. August 2015 um 8:16 Uhr

  • @emil Auch bei Verwendung von Artifact-Bereitstellungen respektiert die CLI Ihre Commits. Es wird also nur eine neue Version bei einem neuen Commit bereitgestellt, es sei denn, Sie verwenden die --staged Flagge. Würde das die “Zufälligkeit” erklären, die Sie sehen?

    – Nick Humrich

    24. August 2015 um 12:51 Uhr

1101480cookie-checkSchließen Sie Verzeichnisse von der Bereitstellung von Elastic Beanstalk aus

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy