Panoramica del flusso di lavoro Adobe Commerce Patching Automation
In questo argomento viene fornita una panoramica di alto livello sul funzionamento delle operazioni patch con Adobe Commerce Patching Automation.
Terminologia
-
Operazioni - le azioni principali eseguite dal servizio:
- Applica
- Ripristina
-
Fasi - le tre fasi del flusso di lavoro:
- Verifica preliminare
- Applicazione di patch
- Convalida
-
Ambiente: l’ambiente Adobe Commerce Cloud in cui vengono applicate le patch.
Operazioni
Patching Automation supporta due operazioni principali per la gestione delle patch nell’ambiente Adobe Commerce Cloud:
-
Operazione Apply - aggiunge modifiche patch alla base di codice tramite un processo sicuro e convalidato. Le patch vengono applicate inserendo i file patch nella cartella
m2-hotfixes. -
Operazione Ripristina: rimuove le patch applicate in precedenza dal codebase rimuovendo i file di patch dalla cartella
m2-hotfixes.
Fasi
Il flusso di lavoro Patching Automation utilizza tre fasi che vengono sempre eseguite in questo ordine per garantire che le patch vengano applicate in modo sicuro e affidabile:
- Verifica preliminare - convalida la compatibilità della patch e l’idoneità dell’ambiente.
- Applicazione della patch - applica o ripristina la patch in un ambiente di integrazione.
- Convalida: convalida l’applicazione patch ed esegue i controlli di integrità.
Dettagli fase
Fase 1: Controllo preliminare
La fase di verifica preliminare verifica che la patch possa essere applicata in modo sicuro all’ambiente.
Cosa succede:
-
Protezione dell’ambiente di produzione (solo ambienti di produzione):
- Controlla se l’archivio è in modalità di manutenzione
- Verifica che i processi cron siano disabilitati
- Blocca l’applicazione della patch se non vengono soddisfatte le condizioni
- Visualizza la finestra di dialogo di conferma se vengono soddisfatte le condizioni
-
Convalida patch - verifica che il file di patch sia valido e compatibile
-
Valutazione dell’ambiente - verifica la fattibilità dell’ambiente e le risorse
-
Rilevamento conflitti - identifica potenziali conflitti con il codice esistente
-
Verifica dipendenze - convalida la compatibilità della versione di Adobe Commerce
Fase 2: applicazione di patch
La fase di applicazione delle patch applica o ripristina la patch in un ambiente di integrazione temporaneo. Durante questa fase, il servizio crea un ambiente di integrazione temporaneo per applicare la patch in modo sicuro, confermarne la corretta distribuzione e verificare che superi un controllo di integrità, prima di apportare qualsiasi modifica all’ambiente effettivo.
Questo approccio fornisce:
- Sicurezza - mantiene l’ambiente di destinazione intatto fino a quando l’ambiente di integrazione non viene distribuito correttamente e non supera il controllo di integrità
- Funzionalità di rollback - se vengono rilevati problemi
- Isolamento - per ogni operazione patch
Fase 2a: creazione di un ambiente di integrazione
Creazione ramo — Patching Automation crea un ramo dell’ambiente di integrazione temporaneo denominato {target-environment}-CAPS-{patch-id}
Configurazione dell’ambiente: l’ambiente di integrazione viene creato come elemento secondario dell’ambiente di destinazione
Sincronizzazione del codice: l’ambiente di integrazione eredita lo stato esatto del codice dell’ambiente di destinazione (stessa base di codice)
Nessuna clonazione dei dati. L’ambiente di integrazione non riceve una copia dei dati dell’ambiente di destinazione (database, supporto o altro contenuto archiviato). Per applicare e verificare la patch viene utilizzata solo la base di codice
Fabbisogni di risorse: la capacità di archiviazione totale del progetto Cloud è definita nel contratto. (Controllare tramite la pagina dell’account o magento-cloud subscription:info). L’allocazione del disco di ogni ambiente è configurata separatamente tramite la proprietà disk in .magento.app.yaml/.magento/services.yaml. Per ulteriori dettagli, vedere Gestione spazio su disco. Se un’operazione di patch non riesce a causa di limiti di archiviazione, controllare l’utilizzo del disco (magento-cloud db:size / magento-cloud mount:size) dell’ambiente di integrazione rispetto all’allocazione configurata.
Fase 2b: applicazione patch nell’ambiente di integrazione
Test di sicurezza: la patch viene applicata all’ambiente di integrazione, non direttamente all’ambiente di destinazione
Gestione file — I file di patch vengono inseriti nella cartella m2-hotfixes
Operazioni Git — Le modifiche vengono applicate e inviate al ramo dell’ambiente di integrazione
Attivazione ambiente — L’ambiente di integrazione è attivato per distribuire il codice con patch
Verifica stato - Dopo l’attivazione, Patching Automation conferma quanto segue prima di procedere all’unione: l’ambiente di integrazione è stato distribuito correttamente ed è integro, l’applicazione viene avviata e le connessioni al database e alla cache sono raggiungibili.
Fase 2c: unione dell’ambiente di destinazione
Controllo sincronizzazione - Prima dell’unione, il servizio conferma che l’ambiente di integrazione è ancora attivo, sincronizzato con l’ambiente di destinazione e integro. Se la destinazione è stata modificata durante l’applicazione della patch, l’operazione si arresta qui anziché unire
Estrazione dell’ambiente: il servizio estrae l’ambiente di destinazione localmente
Operazione di unione - Il ramo dell’ambiente di integrazione viene unito all’ambiente di destinazione
Gestione dei conflitti - Se si verifica un conflitto di unione, l’operazione non riesce e viene segnalata come errore. L’operazione non viene risolta automaticamente
Distribuzione: le modifiche unite vengono distribuite nell’ambiente di destinazione
Verifica - Il servizio verifica che l’unione sia stata eseguita correttamente e che gli ambienti siano sincronizzati
Ciclo di vita dell’ambiente di integrazione
Gli ambienti di integrazione hanno un ciclo di vita specifico durante la fase di applicazione delle patch:
- Creazione - Creato all’inizio della fase di applicazione della patch
- Periodo attivo - Rimane attivo durante l’applicazione della patch e il test
- Pulizia - Eliminato immediatamente se l’operazione non riesce durante la fase di esecuzione delle patch, prima dell’unione. Altrimenti eliminato durante la fase di convalida, dopo l’unione, indipendentemente dal fatto che la convalida venga superata o meno
Fase 3: Convalida
La fase Convalida conferma che l’applicazione aggiornata viene avviata correttamente e supera un controllo di integrità.
Cosa succede:
- Verifica stato dell’applicazione - verifica che l’applicazione venga avviata e eseguita correttamente e che le connessioni al database e alla cache siano raggiungibili
- Pulizia - rimuove l’ambiente di integrazione temporaneo e aggiorna lo stato del processo in base al completamento. L’attività dell’ambiente rimane visibile nel feed Attività del progetto.
Indicatori di successo
Applica operazione:
- “Processo completato correttamente” - Patch applicata senza problemi
- “La patch è stata applicata” - La patch era già presente (non è necessaria alcuna azione)
- File patch inserito correttamente nella cartella
m2-hotfixes - Tutti i controlli di convalida superano
- Controlli di integrità dell’applicazione completati
Operazione di ripristino:
- “Processo completato correttamente” - Patch ripristinata senza problemi
- “La patch è stata ripristinata” - La patch era già stata ripristinata (nessuna azione necessaria)
- File patch rimosso dalla cartella
m2-hotfixes - Tutti i controlli di convalida superano
- Controlli di integrità dell’applicazione completati
Salvaguardie dell’ambiente di produzione
L’applicazione o il ripristino delle patch in un ambiente di produzione comporta maggiori rischi rispetto ad altri ambienti, pertanto Patching Automation include due misure di protezione specifiche per la produzione.
Conferma prima dell’avvio
Prima di avviare qualsiasi operazione di applicazione o ripristino in un ambiente di produzione, viene richiesto di confermare l’operazione in una finestra di dialogo. Questo passaggio di conferma protegge dall’avvio accidentale di un processo in produzione.
Condizioni preliminari consigliate
Adobe consiglia di abilitare la modalità di manutenzione e disabilitare i processi cron prima di applicare le patch a un ambiente di produzione. Per impostazione predefinita, Patching Automation verifica che entrambe le condizioni siano soddisfatte e blocca l’operazione con una notifica se una delle due condizioni non è soddisfatta. Se comprendi i rischi di procedere senza modalità di manutenzione o con i processi cron abilitati, seleziona la casella di controllo Sostituisci nell’interfaccia utente per ignorare questa verifica.
- Modalità manutenzione - Si consiglia di abilitare
- Processi Cron - Consigliato per essere disabilitato