Échec du pipeline de déploiement d’AEM en raison d’une propriété de configuration OSGi non valide
Les pipelines de déploiement dans les environnements d’évaluation et de production échouent lors de la sous-étape Services de mise à jour après une exécution prolongée. Pour résoudre ce problème, mettez à jour ou supprimez la clé vide dans le fichier de configuration et effectuez un redéploiement via Cloud Manager.
Description description
Environnement
- Adobe Experience Manager (AEM) as a Cloud Service
- Pipelines CI/CD de Cloud Manager (évaluation/production)
- Lanceur de fonctionnalités Sling
Problème/Symptômes
- Le pipeline de déploiement échoue avec un message problème système .
- L’échec se produit à la sous-étape Services de mise à jour après plus de 2 heures d’exécution.
Cause
-
Échec de l’initialisation du lanceur de fonctionnalités Sling en raison d’une propriété de configuration OSGi non valide dans la base de code du projet.
-
Voici un exemple où un fichier de configuration OSGi possède une clé de propriété vide :
code language-none { "scheduler.expression": "0 0 6 * * ?", "job.enabled": true, "": "notifications@example.com", "emailName": "System Reminder", "emailSubject": "Reminder", "emailMessage": "This is an automated reminder for your content." }
La propriété vide (« ») entraîne l’échec d’AEM lors de l’analyse de la configuration au démarrage, ce qui entraîne l’erreur de pipeline dans l’étape Mettre à jour les services.
Résolution resolution
Pour résoudre ce problème, mettez à jour ou supprimez la propriété non valide dans le fichier de configuration concerné.
-
Ouvrez le fichier de configuration concerné, qui se trouve généralement sous :
ui.config/src/main/content/jcr_root/apps/<project-name>/osgiconfig/config.<runmode>/
Pour plus d’informations, voir Configuration d’OSGi pour Adobe Experience Manager as a Cloud Service. -
Supprimez ou corrigez la propriété non valide.
Exemple (correction de la propriété)
code language-none { "scheduler.expression": "0 0 6 * * ?", "job.enabled": true, "recipientEmail": "notifications@example.com", "emailName": "System Reminder", "emailSubject": "Reminder", "emailMessage": "This is an automated reminder for your content." }Important : n’incluez jamais de secrets, mots de passe, clés d’API ou autres informations sensibles directement dans les fichiers de configuration OSGi. Pour gérer en toute sécurité les valeurs sensibles, utilisez Variables d’environnement dans Cloud Manager.
-
Validez et redéployez la configuration corrigée via Cloud Manager. Pour plus d’informations, voir Déploiement sur AEM as a Cloud Service dans le Guide de l’utilisateur d’AEM as a Cloud Service.
Après avoir corrigé la configuration, le pipeline doit s’exécuter correctement.
Remarques supplémentaires
- Validez les configurations JSON localement avant de les valider à l’aide d’outils tels que la validation
jsonlintou basée sur IDE. - Assurez-vous que tous les noms de propriété ne sont pas vides, uniques et correctement saisis.
- Consultez les journaux de génération d’AEM as a Cloud Service dans Cloud Manager pour détecter rapidement les problèmes de configuration.
- Conservez les configurations spécifiques à un environnement en les plaçant dans des dossiers
config.<runmode>(par exemple,config.author,config.publish).