次のフォルダ構造(読みやすさのためにフォルダを最小限に抑えた)を持つ既存のgolangプロジェクトがあります。私のプロジェクトのWebサーバが./cmd/vano
にあるので cmdフォルダにgolang appをAWS Beanstalkに展開
- postgre
- service.go
- cmd
- vano
- main.go
- vanoctl
- main.go
vano.go
は、今私は、カスタム
Buildfile
と
Procfile
を作成する必要があります。
#!/usr/bin/env bash
# Install dependencies.
go get ./...
# Build app
go build ./cmd/vano -o bin/application
、最終的には私のProcfile:
web: bin/application
はだから今、私のフォルダ構造がどのように見えるので、私はここで
は私のビルドファイル
make: ./build.sh
build.shファイルであることをやりましたこれは:
- postgre
- service.go
- cmd
- vano
- main.go
- vanoctl
- main.go
vano.go
Buildfile
build.sh
Procfile
私はgitのを使用して、ソースジップアップ:
git archive --format=zip HEAD > vano.zip
そして、AWS豆の木にアップロードします。どのようにエラーが発生しても、AWSエラーは一番読みにくいようです。ここで
Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
エラーメッセージ
[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.
余分なエラー情報私のエラーです:
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'
依存関係のインストールに失敗した可能性があります。 '/ var/log/eb-activity.log'ファイルで何を言いますか? – mass
ベンダーに依存関係を確認してからコードを圧縮してみませんか? 'get get /。 'をする必要はありません。 –
監督は失敗したようですが、Procfileは有効ですか? –