Scelta di una strategia di ramificazione Git per ambienti con più account DevOps - AWS Guida prescrittiva

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 e la distribuzione continue (le CI/CD), which is the process of automating the software release lifecycle. It automates much or all of the manual DevOps processes that are traditionally required to get new code from development into production. A CI/CD pipeline encompasses the sandbox, development, testing, staging, and production environments. In each environment, the CI/CD pipeline provisions any infrastructure that is needed to deploy or test the code. By using CI/CD, development teams can make changes to code that are then automatically tested and deployed. CI/CD pipeline forniscono anche governance e barriere per i team di sviluppo). Applicano coerenza, standard, best practice 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 discusse in questa guida sono adatte a CI/CD practices. The complexity of the CI/CD pipeline increases with the complexity of the branching strategy. For example, Gitflow is the most complex branching strategy discussed in this guide. CI/CD pipelines for this strategy require more steps (such as for compliance reasons), and they must support multiple, simultaneous production releases. Using CI/CD also becomes more important as the complexity of the branching strategy increases. This is because CI/CD stabilire barriere e meccanismi per i team di sviluppo che impediscano 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 CodeBuildcompila il codice sorgente, esegue test e produce ready-to-deploy pacchetti software. Per ulteriori informazioni, consulta Developer Tools on AWS.