implementazione di riferimento

Webhook Git in AWS

Endpoint HTTPS e codice per collegare il tuo repository Git ad AWS

Questa soluzione distribuisce un endpoint HTTPS che puoi utilizzare per configurare un webhook per collegare il tuo Git ad Amazon Web Services (AWS). Con un webhook in posizione, ogni volta che si invia un commit, l’archivio viene automaticamente recuperato, compresso e caricato in un bucket Amazon Simple Storage System (Amazon S3). È quindi possibile configurare AWS CodePipeline, AWS CodeBuild e AWS CodeDeploy affinché utilizzino il bucket S3 come origine.

Questa soluzione è stata sviluppata da AWS.

 


Gli amministratori del catalogo dei servizi AWS possono aggiungere questa architettura al proprio catalogo.  

  •  Attività che realizzerai
  • Questa soluzione dei partner configura un ambiente Cloud AWS serverless che include i seguenti componenti:

    • Un endpoint Gateway Amazon API per ricevere richieste di webhook Git e inoltrarle ad AWS Lambda.
    • Una funzione AWS Lambda per elaborare le richieste di webhook Git da API Gateway e richiamare un progetto AWS CodeBuild.
    • Un progetto AWS CodeBuild per connettersi al tuo servizio Git, quindi per recuperare, comprimere e caricare l'ultima versione del tuo repository Git su Amazon S3.
    • Una chiave AWS Key Management Service (AWS KMS) per crittografare/decrittare le chiavi SSH (Secure Shell) utilizzate da CodeBuild per connettersi al tuo repository Git tramite SSH. La coppia di chiavi SSH viene generata da una risorsa personalizzata AWS CloudFormation supportata da Lambda, al momento della distribuzione dello stack.
    • Due bucket Amazon S3: uno per i contenuti del repository Git e un altro per le chiavi SSH crittografate. Una risorsa personalizzata AWS CloudFormation supportata da Lambda elimina i contenuti dei bucket S3 quando elimini lo stack. Se hai bisogno di backup, copia i bucket S3 prima di eliminare lo stack.
  •  Come effettuare l'implementazione
  • Per la creazione del tuo ambiente Git con AWS, segui le istruzioni nella guida alla distribuzione. Il processo di distribuzione include questi passaggi:

    1. Se non disponi ancora di un account AWS, registrati su https://aws.amazon.com.
    2. Avvia la soluzione. L’implementazione richiede circa 15 minuti.
    3. Configura il tuo repository Git per impostare i webhook, seguendo le istruzioni del servizio Git. (Devi essere in grado di connetterti al tuo repository Git su Internet.)
    4. Configura un servizio AWS per connetterti all'oggetto S3.
    5. Esegui il test di un commit.

    Amazon può condividere informazioni relative all'implementazione con il Partner AWS che ha collaborato con AWS a questa soluzione.  

  •  Costi e licenze
  • Questa soluzione distribuisce una chiave del Servizio di gestione delle chiavi AWS (AWS KMS) che comporta un costo mensile per l'archiviazione e l'utilizzo della chiave. (Consulta i prezzi di AWS Key Management Service.)

    I costi di API Gateway, Amazon S3, Lambda e AWS CodeBuild variano a seconda della frequenza con cui si esegue il commit del codice nel repository Git connesso. (Consulta i prezzi del Gateway Amazon API, i prezzi di Amazon S3, i prezzi di AWS Lambda e i prezzi di AWS CodeBuild.)

    Verranno addebitati i costi dei servizi AWS e di qualsiasi licenza di terze parti utilizzati per eseguire questa soluzione. Non sono previsti costi aggiuntivi per l'utilizzo della soluzione.

    Questa soluzione include alcuni parametri di configurazione personalizzabili. Alcune di queste impostazioni, ad esempio il tipo di istanza, incideranno sul costo dell'implementazione. Per una stima dei costi di ogni servizio AWS utilizzato, consulta la pagina dei prezzi. I prezzi sono soggetti a modifiche.

    Suggerimento: dopo l'implementazione della soluzione, crea report di costi e utilizzo di AWS per monitorare i costi associati. Questi report forniscono i parametri di fatturazione a un bucket Amazon Simple Storage Service (Amazon S3) nel tuo account. Inoltre, essi forniscono i costi stimati in base al consumo con cadenza mensile e aggregano i dati alla fine del mese. Per ulteriori informazioni, consulta Che cosa sono i report di costi e utilizzo AWS?