2012-08-30 29 views
10

Los siguientes ejemplos y tutoriales para conseguir una aplicación PHP en funcionamiento con AWS Elastic Beanstalk y obtener errores cuando trato de empujar:AWS Elastic Beanstalk [rechazada remoto] (gancho declinó)

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' 

¿Cuál es la causa ¿de esta? Google no parece tener idea. Originalmente pensé que era debido a que mi Host no coincidía, ya que la segunda vez que ejecutaste aws.config no pedirá un host, pero después de cambiar manualmente la configuración en .git/config, sigue dando el mismo error.

[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 

Esta configuración debe ser correcta:

http://d.pr/i/ehwv

Por lo tanto, lo que es aquí?

Respuesta

0

Es un tiro en la oscuridad, pero lo único extraño que veo es el nombre de la aplicación, pruebe algo sin espacios de caracteres en lugar de "Mi primera aplicación Elastic Beanstalk".

0

No creo que sea nada de tu parte, específicamente.

Aquí hay tres mensajes de error relacionados. El error más externa es:

error: failed to push some refs to ... 

Lo que significa que, en su operación de empuje, al menos uno ref (por lo general significa "rama") no pudieron empujar. Como solo está intentando empujar una rama en esta operación, eso es un poco redundante.

El siguiente nivel en es el error per-ref, "¿Por qué esto y por lo tanto no Ref empujar con éxito?", El mensaje de esto es:

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

Por lo tanto, el control remoto rechazados por alguna razón, la razón fue "gancho rechazado". Lo que eso significa es que todo iba bien, pero cuando el gancho del lado del servidor post-receive se encendió para determinar realmente si estaba bien actualizar el puntero a "maestro" para indicarle que use los datos que acaba de subir, algo sobre el gancho dijo "no, esto es NO ¡bien!". El gancho es solo un script, generalmente un shell-script o perl, pero podría ser cualquier ejecutable, realmente. Señala una falla al devolver un estado de salida distinto de cero.

Entonces, ¿por qué devolvió el estado de salida distinto de cero? Esta parte puede ser un poco difícil de determinar, ya que el gancho no está obligado a proporcionar ninguna explicación al cliente en absoluto. Si lo desea, puede informar al cliente dando como resultado lo que quiera en stderr, y esos mensajes aparecerán en el lado del cliente, con el prefijo "remote:". Afortunadamente para nosotros, este gancho particular ha elegido hacerlo. Por desgracia, el error de mensaje real que producía era:

remote: 
remote: error: Internal Error 
remote: 

Así que el mensaje de error real, lo que podría ofrecer alguna pista sobre lo que está pasando, parece ser simplemente "Error interno", lo que normalmente significa el equivalente de "Situación inesperada: probablemente sea un error, así que entraré en pánico y abortaré ahora". Creo que deberás contactar al soporte de Amazon.

3

Probablemente excedió el límite en Elastic Beanstalk de 500 versiones de aplicación. Debe eliminar versiones antiguas de la aplicación a través de Elastic Beanstalk Management Console, en la pestaña "Versiones".

+0

Tengo dificultades para poner en marcha mi primera aplicación, definitivamente no tengo otras 499 aplicaciones. –

+0

@PhilSturgeon y otros enviados aquí por google (como yo). Existe una diferencia entre aplicaciones, entornos y versiones de aplicaciones. Cada vez que 'git aws.push' creas una nueva ** versión **, que puede llegar rápidamente a 500 si presionas mucho. Un compañero de trabajo recibió el error que Phil vio (en esta pregunta), pero recibí el que se menciona en [otra pregunta] (http://stackoverflow.com/questions/9589531/how-to-avoid-a-toomanyapplicationversion-exception-on -aws-elastic-beanstalk). La mejor solución es simplemente eliminar versiones antiguas (suponiendo que su error no es realmente algo diferente). –

+0

Creo que el error es algo diferente. Este error estaba ocurriendo desde una nueva configuración, consistentemente, cada vez, con grandes brechas (horas o días) entre los intentos de hacer que la maldita cosa funcione nuevamente. –

Cuestiones relacionadas