AEM-Bereitstellungs-Pipeline schlägt aufgrund einer ungültigen OSGi-Konfigurationseigenschaft fehl

Bereitstellungs-Pipelines in Staging- und Produktionsumgebungen schlagen während des Unterschritts Update Services fehl, nachdem sie einige Zeit ausgeführt wurden. Um dies zu beheben, aktualisieren oder entfernen Sie den leeren Schlüssel in der Konfigurationsdatei und stellen Sie ihn über Cloud Manager erneut bereit.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) as a Cloud Service
  • Cloud Manager CI/CD-Pipelines (Staging/Produktion)
  • Sling Feature Launcher

Problem/Symptome

  • Die Bereitstellungs-Pipeline schlägt mit einer Meldung Systemproblem fehl.
  • Ein Fehler tritt im Unterschritt Services aktualisieren auf, nachdem er länger als zwei Stunden ausgeführt wurde.

Ursache

  • Der Sling Feature Launcher kann aufgrund einer ungültigen OSGi-Konfigurationseigenschaft in der Projekt-Code-Basis nicht initialisiert werden.

  • Hier ist ein Beispiel, bei dem eine OSGi-Konfigurationsdatei einen leeren Eigenschaftsschlüssel hat.

    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."
                }
    

Die leere Eigenschaft (“„) verursacht, dass AEM beim Analysieren der Konfiguration während des Starts fehlschlägt, was zum Pipeline-Fehler im Schritt Dienste aktualisieren führt.

Auflösung resolution

Um das Problem zu beheben, aktualisieren oder entfernen Sie die ungültige Eigenschaft in der betroffenen Konfigurationsdatei.

  1. Öffnen Sie die betroffene Konfigurationsdatei, die sich in der Regel unter folgendem Pfad befindet:

    ui.config/src/main/content/jcr_root/apps/<project-name>/osgiconfig/config.<runmode>/
    Weitere Informationen finden ​ unter „Konfigurieren von OSGi ​ Adobe Experience Manager as a Cloud Service".

  2. Entfernen oder korrigieren Sie die ungültige Eigenschaft.

    Beispiel (Korrektur der Eigenschaft)

    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."
                }
    

    Wichtig: Geheime Daten, Kennwörter, API-Schlüssel oder andere vertrauliche Informationen dürfen nicht direkt in OSGi-Konfigurationsdateien enthalten sein. Um vertrauliche Werte sicher zu verwalten, verwenden Sie Umgebungsvariablen in Cloud Manager.

  3. Übergeben Sie die korrigierte Konfiguration und stellen Sie sie über Cloud Manager erneut bereit. Weitere Informationen finden ​ unter „Bereitstellen ​ AEM as a Cloud Service" im AEM as a Cloud Service-Benutzerhandbuch.

Nachdem Sie die Konfiguration korrigiert haben, sollte die Pipeline erfolgreich ausgeführt werden.

Zusätzliche Hinweise

  • Validieren Sie JSON-Konfigurationen lokal, bevor Sie einen Commit ausführen, mithilfe von Tools wie jsonlint oder einer IDE-basierten Validierung.
  • Stellen Sie sicher, dass alle Eigenschaftsnamen nicht leer, eindeutig und korrekt eingegeben sind.
  • Überprüfen Sie die AEM as a Cloud Service-Build-Protokolle in Cloud Manager, um Konfigurationsprobleme frühzeitig zu erkennen.
  • Halten Sie Konfigurationen umgebungsspezifisch, indem Sie sie in config.<runmode> Ordnern (z. B. config.author, config.publish) ablegen.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f