AEM Cloud Manager: il conflitto di versione del pacchetto ui.content blocca la distribuzione in ambienti più bassi
In questo articolo viene illustrato come le versioni statiche dei pacchetti impediscono la distribuzione dei pacchetti ui.content in ambienti inferiori nelle pipeline Cloud Manager di Adobe Experience Manager.
Descrizione description
Ambiente
Adobe Experience Manager (AEM) Cloud Manager (tutte le versioni)
Problema/Sintomi
Quando si distribuisce tramite le pipeline di Cloud Manager in ambienti inferiori (ad esempio Dev, E2E2 o PLRT), il caricamento del pacchetto ui.content non riesce se esiste già un pacchetto con la stessa versione. I registri di distribuzione non mostrano errori, ma il pacchetto non viene reinstallato o aggiornato. Nelle pipeline di produzione, lo stesso pacchetto viene caricato correttamente perché per ogni build viene generata una versione con marca temporale univoca.
Estratto del registro di esempio dalla produzione:
Set project version to 5.0.0.2025_0524_1104410_0008467799 from 5.0.0
Executing command mvn --batch-mode org.codehaus.mojo:versions-maven-plugin:2.6:set -DnewVersion=5.0.0.2025_0524_1104410_0008467799 ...
Estratto del registro di esempio dagli ambienti inferiori:
Executing command mvn --batch-mode org.apache.maven.plugins:maven-dependency-plugin:3.1.2:resolve-plugins
- Il problema è riproducibile quando si creano in ambienti inferiori.
- La versione del progetto è fissa (ad esempio:
5.0.0) a causa di requisiti di gestione delle dipendenze. - Non vengono visualizzati errori, ma il pacchetto non viene aggiornato se la versione non è stata modificata.
Per ulteriori dettagli, vedere Gestione della versione del progetto in utilizzo di Cloud Manager e SNAPSHOT nelle pipeline non di produzione.
Causa
Cloud Manager ignora l’installazione del pacchetto negli ambienti inferiori se la versione del pacchetto è invariata e già presente. Le pipeline di produzione evitano questo problema generando versioni con marca temporale univoche per ogni build, mentre per gli ambienti inferiori sono necessarie versioni SNAPSHOT o incrementi di versione manuali per forzare la reinstallazione.
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
-
Informazioni sulla gestione delle versioni di Cloud Manager
- Nelle pipeline di produzione, Cloud Manager genera automaticamente una versione con marca temporale univoca per ogni build, consentendo la reinstallazione dei pacchetti anche se esiste una versione precedente.
- Negli ambienti inferiori, Cloud Manager non incrementa automaticamente le versioni e prevede che la versione del progetto sia
-SNAPSHOTper le build per sviluppatori.
-
Opzione 1: utilizzare
-SNAPSHOTper gli ambienti inferiori- Per i rami utilizzati solo in ambienti inferiori, aggiornare la versione del progetto
pom.xmlper includere-SNAPSHOT(ad esempio:<version>5.0.0-SNAPSHOT</version>). - Assicurarsi che tutti i moduli (ad esempio
ui.apps,ui.content) ereditino questa versioneSNAPSHOT. - Questo consente a Cloud Manager di trattare questi elementi come artefatti mutabili e reinstallarli, anche se la versione è invariata.
- Per i rami utilizzati solo in ambienti inferiori, aggiornare la versione del progetto
-
Opzione 2: incremento manuale della versione per ogni distribuzione
- Se è necessario utilizzare una versione statica (a causa della gestione delle dipendenze o di altri criteri), incrementare manualmente la versione del progetto in
pom.xmlper ogni distribuzione in ambienti inferiori. - In questo modo Cloud Manager riconosce il pacchetto come nuova versione e lo installa.
- Se è necessario utilizzare una versione statica (a causa della gestione delle dipendenze o di altri criteri), incrementare manualmente la versione del progetto in
-
Revisione e test
- Dopo aver apportato la modifica al controllo delle versioni, attivare una nuova distribuzione della pipeline per confermare che il pacchetto
ui.contentè stato caricato e installato come previsto.
- Dopo aver apportato la modifica al controllo delle versioni, attivare una nuova distribuzione della pipeline per confermare che il pacchetto