Un team di sviluppo utilizza CodeCommit, CodePipeline e CodeBuild. Le pull request vengono utilizzate per le modifiche, ma i test falliti nella pipeline principale bloccano il progresso. Il team desidera che i test unitari e di integrazione vengano eseguiti su ogni pull request prima del merge. Quale soluzione soddisfa questa esigenza?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Creare una regola Amazon EventBridge per corrispondere agli eventi pullRequestCreated da CodeCommit. Creare un progetto CodeBuild per eseguire i test unitari e di integrazione. Configurare il progetto CodeBuild come target della regola EventBridge che include un payload di evento personalizzato con le informazioni sul repository e sul branch CodeCommit dall'evento..
Perché questa è la risposta
La soluzione corretta utilizza EventBridge per rilevare la creazione di una pull request in CodeCommit. EventBridge può quindi attivare un progetto CodeBuild dedicato per eseguire i test unitari e di integrazione sul codice della pull request. Il payload personalizzato garantisce che CodeBuild riceva le informazioni necessarie (repository e branch) per testare il codice corretto. Questo approccio consente di eseguire i test prima del merge, evitando che codice non testato blocchi la pipeline principale. Le altre opzioni sono meno efficaci: L'opzione con il modello di regola di approvazione di CodeCommit non permette di eseguire test arbitrari, ma solo di richiedere approvazioni manuali o l'invocazione di funzioni Lambda. L'opzione che modifica la pipeline CodePipeline esistente per non eseguire il deploy non risolve il problema di eseguire i test prima del merge e non impedisce che il codice non testato entri nel branch principale. L'opzione con la regola di notifica CodeCommit è destinata a inviare notifiche, non a invocare direttamente progetti CodeBuild per l'esecuzione di test.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta