AWS Elastic Beanstalk [удалено отклонено] (крюк отклонен)

Следующие примеры и учебные пособия для запуска приложения PHP с использованием эластичного бобового стежка AWS и получения ошибок при попытке нажать:

git aws.push
remote: 
remote: error: Internal Error
remote: 
To https://MYKEY:20120830T11331124[email protected]git.elasticbeanstalk.us-east-1.amazonaws.com/repos/4d7920466972737420256c6173746963204265616e7374616c6b204170706c69636174696f6e20456e7669726f6e6d656e6463/philsturgeon
 ! [remote rejected] HEAD -> master (hook declined)
error: failed to push some refs to 'https://MYKEY:20120830T11331124[email protected]git.elasticbeanstalk.us-east-1.amazonaws.com/repos/4d7920466972737420256c6173746963204265616e7374616c6b204170706c69636174696f6e20456e7669726f6e6d656e6463/philsturgeon'

В чем причина этого? Google, похоже, не имеет никакой идеи. Первоначально я думал, что это связано с тем, что мой хост не соответствует, так как во второй раз, когда вы запускаете aws.config, он не будет запрашивать хост, но после ручного изменения конфигурации в .git/config он все равно дает ту же ошибку.

[aws "endpoint"]
        us-east-1 = git.elasticbeanstalk.us-east-1.amazonaws.com
        ap-northeast-1 = git.elasticbeanstalk.ap-northeast-1.amazonaws.com
        eu-west-1 = git.elasticbeanstalk.eu-west-1.amazonaws.com
        us-west-1 = git.elasticbeanstalk.us-west-1.amazonaws.com
        us-west-2 = git.elasticbeanstalk.us-west-2.amazonaws.com
[alias "aws"]
        push = !git aws.elasticbeanstalk.push [email protected]
        config = !git aws.elasticbeanstalk.config [email protected]
[aws]
        accesskey = MYKEY
        secretkey = MYSECRET
        region = us-east-1
[aws "elasticbeanstalk"]
        host = git.elasticbeanstalk.us-east-1.amazonaws.com
        application = My First Elastic Beanstalk Application
        environment = philsturgeon

Эта конфигурация должна быть правильной:

http://d.pr/i/ehwv

Итак, что здесь?

Ответ 1

Вероятно, вы превысили лимит в Elastic Beanstalk из 500 версий приложений. Вам нужно удалить старые версии приложений через консоль управления Elast Beanstalk Console под вкладкой "Версии".

Ответ 2

Это выстрел в темноте, но единственное, что я вижу, это имя приложения, попробуйте что-то без пробелов символов вместо "My First Elastic Beanstalk Application".

Ответ 3

Я не думаю, что это было на вашем конце, в частности.

Здесь есть три связанных сообщения об ошибках. Самая внешняя ошибка:

error: failed to push some refs to ...

Это означает, что в вашей push-операции не удалось нажать хотя бы один ref (обычно означающий "ветвь" ). Поскольку вы пытаетесь только нажать одну ветвь в этой операции, это немного избыточно.

Следующий уровень in - это ошибка per-ref, "почему так и не удалось успешно нажать"? ", сообщение для этого:

 ! [remote rejected] HEAD -> master (hook declined)

Таким образом, удаленный отклонил его по какой-то причине, причина была "отклонен крюком". Это означает, что все идет гладко, но тогда, когда серверный бок post-receive запущен, чтобы определить, было ли нормально обновлять указатель на "master", чтобы сообщить ему использовать данные, которые вы только что загрузили, что-то про крючок сказал "нет, это НЕ нормально!". Крючок - это всего лишь script, обычно это оболочка script или perl, но на самом деле это может быть любой исполняемый файл. Он сигнализирует об ошибке, возвращая ненулевой статус выхода.

Итак, почему он возвращал ненулевой статус выхода? Эта часть может быть немного сложной для определения, так как крючок не обязан предоставлять какие-либо объяснения клиенту вообще. Если захочет, он может сообщить клиенту, выведя все, что захочет, на stderr, и эти сообщения появятся на стороне клиента с префиксом "remote:". К счастью для нас, этот конкретный крюк решил сделать это. К сожалению, фактическое сообщение об ошибке, которое оно произвело, было:

remote:
remote: error: Internal Error
remote:

Таким образом, фактическое сообщение об ошибке, которое может предложить некоторые подсказки относительно того, что происходит, представляется просто "внутренней ошибкой", что обычно означает эквивалент "Неожиданная ситуация: это, вероятно, ошибка, поэтому я собираюсь паниковать и прервать сейчас". Я думаю, вам нужно будет связаться с поддержкой Amazon.