Scelta di una strategia di ramificazione Git per ambienti con più account DevOps - AWS Linee guida prescrittive

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scelta di una strategia di ramificazione Git per ambienti con più account DevOps

Amazon Web Services (collaboratori)

Febbraio 2024 (cronologia dei documenti)

Passare a un approccio basato sul cloud e fornire soluzioni software AWS può essere trasformativo. Potrebbe richiedere modifiche al processo del ciclo di vita dello sviluppo del software. In genere, Account AWS durante il processo di sviluppo in. Cloud AWS La scelta di una strategia di ramificazione Git compatibile da abbinare ai DevOps processi è essenziale per il successo. La scelta della strategia di ramificazione Git giusta per la tua organizzazione ti aiuta a comunicare in modo conciso DevOps gli standard e le migliori pratiche tra i team di sviluppo. La ramificazione di Git può essere semplice in un singolo ambiente, ma può creare confusione se applicata in più ambienti, come sandbox, sviluppo, test, staging e ambienti di produzione. La presenza di più ambienti aumenta la complessità dell'implementazione. DevOps

Questa guida fornisce diagrammi visivi delle strategie di ramificazione di Git che mostrano come un'organizzazione può implementare un processo multi-account. DevOps Le guide visive aiutano i team a capire come unire le loro strategie di ramificazione Git con le loro DevOps pratiche. L'utilizzo di un modello di ramificazione standard, come Gitflow, Flow o Trunk, GitHub per la gestione del repository del codice sorgente aiuta i team di sviluppo ad allineare il proprio lavoro. Questi team possono anche utilizzare risorse di formazione Git standard su Internet per comprendere e implementare tali modelli e strategie.

Per le DevOps migliori pratiche in materia AWS, DevOpsconsulta la Guida in AWS Well-Architected. Durante la lettura di questa guida, utilizzate la due diligence per selezionare la strategia di ramificazione giusta per la vostra organizzazione. Alcune strategie potrebbero adattarsi meglio di altre al tuo caso d'uso.

Obiettivi

Questa guida fa parte di una serie di documentazione sulla scelta e l'implementazione di strategie di DevOps ramificazione per organizzazioni con più Account AWS membri. Questa serie è progettata per aiutarti ad applicare la strategia che meglio soddisfa i tuoi requisiti, obiettivi e best practice sin dall'inizio, per semplificare la tua esperienza nel. Cloud AWS Questa guida non contiene script DevOps eseguibili perché variano in base al motore di integrazione e distribuzione continua (CI/CD) e ai framework tecnologici utilizzati dall'organizzazione.

Questa guida spiega le differenze tra tre strategie di ramificazione Git comuni: GitHub Flow, Gitflow e Trunk. I consigli contenuti in questa guida aiutano i team a identificare una strategia di ramificazione in linea con i loro obiettivi organizzativi. Dopo aver esaminato questa guida, dovresti essere in grado di scegliere una strategia di ramificazione per la tua organizzazione. Dopo aver scelto una strategia, puoi utilizzare uno dei seguenti schemi per aiutarti a implementarla con i tuoi team di sviluppo:

È importante notare che ciò che funziona per un'organizzazione, un team o un progetto potrebbe non essere adatto per altri. La scelta tra le strategie di ramificazione di Git dipende da vari fattori, come la dimensione del team, i requisiti del progetto e l'equilibrio desiderato tra collaborazione, frequenza di integrazione e gestione delle release.

Utilizzo delle pratiche CI/CD

AWS consiglia di implementare l'integrazione continua e la distribuzione continua (CI/CD), ovvero il processo di automazione del ciclo di vita delle release del software. Automatizza gran parte o tutti i DevOps processi manuali tradizionalmente necessari per trasferire il nuovo codice dallo sviluppo alla produzione. Una pipeline CI/CD comprende gli ambienti sandbox, di sviluppo, di test, di staging e di produzione. In ogni ambiente, la pipeline CI/CD fornisce qualsiasi infrastruttura necessaria per distribuire o testare il codice. Utilizzando CI/CD, i team di sviluppo possono apportare modifiche al codice che vengono poi testate e distribuite automaticamente. Le pipeline CI/CD forniscono inoltre governance e barriere per i team di sviluppo. Applicano coerenza, standard, migliori pratiche e livelli minimi di accettazione per l'accettazione e l'implementazione delle funzionalità. Per ulteriori informazioni, consulta Practicing Continuous Integration and Continuous Delivery su. AWS

Tutte le strategie di ramificazione illustrate in questa guida si adattano bene alle pratiche CI/CD. La complessità della pipeline CI/CD aumenta con la complessità della strategia di ramificazione. Ad esempio, Gitflow è la strategia di ramificazione più complessa discussa in questa guida. Le pipeline CI/CD per questa strategia richiedono più passaggi (ad esempio per motivi di conformità) e devono supportare più versioni di produzione simultanee. L'utilizzo di CI/CD diventa inoltre più importante con l'aumentare della complessità della strategia di ramificazione. Questo perché CI/CD stabilisce barriere e meccanismi per i team di sviluppo che impediscono agli sviluppatori di aggirare intenzionalmente o meno il processo definito.

AWS offre una suite di servizi per sviluppatori progettati per aiutarvi a creare pipeline CI/CD. Ad esempio, AWS CodePipelineè un servizio di distribuzione continua completamente gestito che consente di automatizzare le pipeline di rilascio per aggiornamenti rapidi e affidabili di applicazioni e infrastrutture. AWS CodeCommitè progettato per ospitare in modo sicuro repository Git scalabili, AWS CodeBuildcompila codice sorgente, esegue test e produce pacchetti software. ready-to-deploy Per ulteriori informazioni, consulta Developer Tools on. AWS