Не удается развернуть приложение go lang на AWS Elastic Beanstalk - PullRequest
0 голосов
/ 02 октября 2018

Вот как мои файлы организованы, прежде чем я заархивирую файл.

├── app
│   ├── main.go
│   ├── Procfile
│   ├── Buildfile
│   ├── build.sh

Buildfile

make: ./build.sh

build.sh

#!/usr/bin/env bash

# Install dependencies.
go get ./...

# Build app
go build ./ -o bin/application

Procfile

web: bin/application

Ошибка, которую я получаю

[Экземпляр: i-03f3c230e7b575431] Команда не выполнена в экземпляре.Код возврата: 1 Вывод: (TRUNCATED) ... накачивание: /var/app/staging/app/main.go Невозможно запустить приложение, поскольку исходный комплект не содержит Buildfile, Procfile или исполняемого файла.Невозможно запустить приложение, так как исходный комплект не содержит Buildfile, Procfile или исполняемого файла.Крюк /opt/elasticbeanstalk/hooks/appdeploy/pre/01_configure_application.sh не удался.Для получения более подробной информации, проверьте /var/log/eb-activity.log с помощью консоли или интерфейса командной строки EB.

Дополнительные журналы ошибок

Application update failed at 2018-10-02T01:33:44Z with exit status 1 and error: Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/01_configure_application.sh failed.

Executing: /usr/bin/unzip -o -d /var/app/staging /opt/elasticbeanstalk/deploy/appsource/source_bundle
Archive: /opt/elasticbeanstalk/deploy/appsource/source_bundle
creating: /var/app/staging/app/
inflating: /var/app/staging/app/Buildfile
inflating: /var/app/staging/app/build.sh
inflating: /var/app/staging/app/Procfile
inflating: /var/app/staging/app/main.go
Unable to launch application as the source bundle does not contain a Buildfile, Procfile or an executable.
Unable to launch application as the source bundle does not contain a Buildfile, Procfile or an executable.
Incorrect application version ".01" (deployment 29). Expected version ".01" (deployment 18).

Мой файл main.go содержит третийпраздничные пакеты.Я использую

port := os.Getenv("PORT")
if port == "" {
    port = "5000"
    log.Println("[-] No PORT environment variable detected. Setting to ", port)
}

, как говорят документы в примере приложения.Он компилирует и запускает локально без проблем.

1 Ответ

0 голосов
/ 19 декабря 2018

Как видно из сообщения об ошибке:

Невозможно запустить приложение, поскольку исходный комплект не содержит Buildfile, Procfile или исполняемый файл.

Ваш Procfile, Buildfile и build.sh должен быть в корне проекта, вот так:

├── app
│   ├── main.go
│   Procfile
│   Buildfile
│   build.sh
...