Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Buildfile und Procfile
Auf einigen Plattformen können Sie anpassen, wie Sie Ihre Anwendung erstellen oder vorbereiten und die Prozesse angeben, die Ihre Anwendung ausführen. Jedes einzelne Plattformthema erwähnt speziell Buildfile und/oder Procfile, wenn die Plattform sie unterstützt. Suchen Sie nach Ihrer spezifischen Plattform unter Elastic Beanstalk-Plattformen.
Syntax und Semantik sind für alle unterstützenden Plattformen identisch und sind wie auf dieser Seite beschrieben. Einzelne Plattformthemen erwähnen die spezifische Verwendung dieser Dateien zum Erstellen und Ausführen von Anwendungen in ihren jeweiligen Sprachen.
Buildfile
Um einen benutzerdefinierten Build- und Konfigurationsbefehl für Ihre Anwendung anzugeben, legen Sie eine Datei mit dem Namen Buildfile
im Stammverzeichnis Ihrer Anwendungsquelle ab. Beachten Sie beim Dateinamen die Groß- und Kleinschreibung. Verwenden Sie die folgende Syntax für Ihre Buildfile
.
<process_name>
: <command>
Der Befehl in Ihrer Buildfile
muss folgendem regulären Ausdruck entsprechen: ^[A-Za-z0-9_-]+:\s*[^\s].*$
Elastic Beanstalk überwacht nicht die Anwendung, die mit einer Buildfile
ausgeführt wird. Verwenden Sie eine Buildfile
für Befehle, die für kurze Zeiträume ausgeführt und nach Abschluss ihrer Aufgaben beendet werden. Verwenden Sie für länger dauernde Anwendungsprozesse, die nicht beendet werden sollten, eine Procfile.
Alle Pfade in der Buildfile
sind relativ zum Stammverzeichnis des Quell-Bundle. Im folgenden Beispiel einer Buildfile
ist build.sh
ein Shell-Skript, das sich im Stammverzeichnis des Quell-Bundle befindet.
Beispiel Buildfile
make: ./build.sh
Wenn Sie benutzerdefinierte Build-Schritte bereitstellen möchten, empfehlen wir Ihnen, für alles, außer für die einfachsten Befehle, anstelle einer Buildfile
predeploy
-Plattform-Hooks zu verwenden. Plattform-Hooks ermöglichen umfangreichere Skripts und eine bessere Fehlerbehandlung. Plattformhaken werden im nächsten Abschnitt beschrieben.
Procfile
Um benutzerdefinierte Befehle zum Starten und Ausführen der Anwendung anzugeben, legen Sie eine Datei mit dem Namen Procfile
im Stammverzeichnis Ihrer Anwendungsquelle ab. Beachten Sie beim Dateinamen die Groß- und Kleinschreibung. Verwenden Sie die folgende Syntax für Ihre Procfile
. Sie können einen oder mehrere Befehle angeben.
<process_name1>
: <command1>
<process_name2>
: <command2>
...
Jede Zeile in Ihrer Procfile
muss folgendem regulären Ausdruck entsprechen: ^[A-Za-z0-9_-]+:\s*[^\s].*$
Verwenden Sie eine Procfile
für länger dauernde Anwendungsprozesse, die nicht beendet werden sollten. Elastic Beanstalk erwartet von Prozessen, die aus der Procfile
ausgeführt werden, dass sie kontinuierlich laufen. Elastic Beanstalk überwacht diese Prozesse und startet alle Prozesse, die beendet werden, neu. Für kurz laufende Prozesse verwenden Sie eine Buildfile.
Alle Pfade in der Procfile
sind relativ zum Stammverzeichnis des Quell-Bundle. Im folgenden Beispiel definiert Procfile
drei Prozesse. Die erste, die im Beispiel web
genannt wird, ist die Hauptwebanwendung.
Beispiel Procfile
web: bin/myserver
cache: bin/mycache
foo: bin/fooapp
Elastic Beanstalk konfiguriert den Proxy-Server so, dass Anforderungen an Ihre Haupt-Web-Anwendung über Port 5000 weitergeleitet werden. Sie können diese Port-Nummer konfigurieren. Eine übliche Verwendung für Procfile
besteht darin, diese Portnummer als Befehlsargument an Ihre Anwendung zu übergeben. Einzelheiten zur Proxykonfiguration finden Sie unterReverse-Proxy-Konfiguration.
Elastic Beanstalk erfasst Standardausgabe- und Fehler-Streams von Procfile
-Prozessen in Protokolldateien. Elastic Beanstalk benennt die Protokolldateien nach dem Prozess und speichert sie in /var/log
. Beispielsweise generiert der web
-Prozess aus dem vorherigen Beispiel Protokolle mit den Namen web-1.log
und web-1.error.log
für stdout
bzw. stderr
.