2012-08-30 20 views
10

seguenti esempi e tutorial per ottenere un'applicazione PHP installato e funzionante con AWS Elastic Beanstalk e ottenere gli errori quando provo a spingere:AWS Elastic Beanstalk [remota respinto] (gancio rifiutato)

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' 

Qual è la causa di questo? Google non sembra avere alcuna idea. Inizialmente avevo pensato che a causa del fatto che il mio host non corrispondesse, poiché la seconda volta che si esegue aws.config non verrà richiesto un host, ma dopo aver modificato manualmente la configurazione in .git/config si sta ancora dando lo stesso errore.

[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 

Questa configurazione dovrebbe essere corretto:

http://d.pr/i/ehwv

Quindi, qual è qui?

risposta

0

È uno sparo al buio ma l'unica cosa strana che vedo è il nome dell'applicazione, provare qualcosa senza spazi di caratteri anziché "My First Elastic Beanstalk Application".

0

Non penso che sia qualcosa sulla tua parte, in particolare.

Qui ci sono tre messaggi di errore correlati. L'errore più esterno è:

error: failed to push some refs to ... 

Il che significa che, nelle vostre operazioni di spinta, almeno un ref (di solito significa "ramo") non è riuscito a spingere. Poiché stai solo provando a spingere un ramo in questa operazione, è un po 'ridondante.

Il livello successivo è l'errore per-ref, "Perché così e quindi non Ref spingere con successo?", Il messaggio di questo è:

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

Così, il telecomando respinto per qualche ragione, la ragione era "gancio rifiutato". Ciò significa che tutto procedeva senza intoppi, ma poi quando è stato attivato il collegamento sul lato server post-receive per determinare se fosse corretto aggiornare il puntatore a "master" per indicare che utilizzava i dati appena caricati, qualcosa sul gancio ha detto "no, questo è NON okay!". L'hook è solo uno script, di solito uno shell-script o perl, ma potrebbe essere qualsiasi eseguibile, davvero. Segnala un errore restituendo uno stato di uscita diverso da zero.

Quindi, perché ha restituito lo stato di uscita diverso da zero? Questa parte può essere un po 'complicata da determinare, poiché l'hook non ha alcun obbligo di fornire alcuna spiegazione al cliente. Se lo desidera, può informare il client emettendo tutto ciò che vuole su stderr, e quei messaggi appariranno sul lato client, preceduti dal prefisso "remote:". Fortunatamente per noi, questo particolare gancio ha scelto di farlo. Purtroppo, l'errore-messaggio effettivo ha prodotto era:

remote: 
remote: error: Internal Error 
remote: 

Così il messaggio di errore effettivo, che potrebbe offrire qualche indizio su quello che sta succedendo, sembra essere semplicemente "Errore interno", che di solito significa l'equivalente di "Situazione inaspettata: questo è probabilmente un bug, quindi vado nel panico e abortire ora". Penso che dovrai contattare l'assistenza di Amazon.

3

Probabilmente è stato superato un limite in Elastic Beanstalk di 500 versioni dell'applicazione. È necessario eliminare le vecchie versioni dell'applicazione tramite la console di gestione Elastic Beanstalk, nella scheda "Versioni".

+0

Sto lottando per far partire la mia prima applicazione, sicuramente non ho altre 499 applicazioni. –

+0

@PhilSturgeon e altri inviati qui da google (come me). C'è una differenza tra applicazioni, ambienti e versioni dell'applicazione. Ogni volta che usi aws.push, crei una nuova ** versione **, che può raggiungere rapidamente 500 se spinga molto. Un collega ha ricevuto l'errore che Phil ha visto (in questa domanda), ma ho ricevuto quello menzionato in [un'altra domanda] (http://stackoverflow.com/questions/9589531/how-to-avoid-a-toomanyapplicationversion-exception-on -aws-elastico-Beanstalk). La soluzione migliore è solo per eliminare le vecchie versioni (supponendo che il tuo errore non sia in realtà qualcosa di diverso). –

+0

Credo che l'errore sia qualcosa di diverso. Questo errore stava accadendo da una configurazione completamente nuova, costantemente, ogni volta, con grandi lacune (ore o giorni) tra i tentativi di far funzionare di nuovo quella dannata cosa. –

Problemi correlati