Ich habe ein bereits vorhandenes Golang-Projekt mit der folgenden Ordnerstruktur (minimiert den Ordner für die Lesbarkeit).Bereitstellen von Golang-App in cmd-Ordner zu AWS Beanstalk
- postgre
- service.go
- cmd
- vano
- main.go
- vanoctl
- main.go
vano.go
Jetzt, da mein Projekt Web-Server in ./cmd/vano
ist Ich brauche eine benutzerdefinierte Buildfile
und Procfile
zu erstellen. Also tat ich, dass
Hier ist mein Buildfile
make: ./build.sh
build.sh Datei:
#!/usr/bin/env bash
# Install dependencies.
go get ./...
# Build app
go build ./cmd/vano -o bin/application
und schließlich meine procfile:
web: bin/application
So jetzt meine Ordnerstruktur sieht aus wie dieses:
- postgre
- service.go
- cmd
- vano
- main.go
- vanoctl
- main.go
vano.go
Buildfile
build.sh
Procfile
ich zip die Quelle mit git up:
git archive --format=zip HEAD > vano.zip
und laden Sie sie auf AWS Bohnenstange. Wie auch immer, ich bekomme immer Fehler und AWS-Fehler scheinen nicht die am meisten gelesenen zu sein. Hier ist mein Fehler
Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
Fehlermeldung
[Instance: i-0d8f642474e3b2c68] Command failed on instance. Return code: 1 Output: (TRUNCATED)...' Failed to execute 'HOME=/tmp /opt/elasticbeanstalk/lib/ruby/bin/ruby /opt/elasticbeanstalk/lib/ruby/bin/foreman start --procfile /tmp/d20170213-1941-1baz0rh/eb-buildtask-0 --root /var/app/staging --env /var/elasticbeanstalk/staging/elasticbeanstalk.env'. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/01_configure_application.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
Zusätzliche Fehlerinfo:
Failed to execute 'HOME=/tmp /opt/elasticbeanstalk/lib/ruby/bin/ruby /opt/elasticbeanstalk/lib/ruby/bin/foreman start --procfile /tmp/d20170213-1941-1baz0rh/eb-buildtask-0 --root /var/app/staging --env /var/elasticbeanstalk/staging/elasticbeanstalk.env'
Möglicherweise wurde eine Abhängigkeit nicht installiert. Was sagt es in '/ var/log/eb-activity.log' Datei? – mass
Warum händigen Sie die Abhängigkeiten aus und zippen dann den Code. Keine Notwendigkeit zu tun "gehen./...". –
Es sieht aus wie Vorarbeiter scheitern, ist Ihre Procfile gültig? –