잘못된 OSGi 구성 속성으로 인해 AEM 배포 파이프라인이 실패합니다
일정 시간 실행 후 서비스 업데이트 하위 단계 동안 스테이징 및 프로덕션 환경의 배포 파이프라인이 실패합니다. 이 문제를 해결하려면 구성 파일에서 빈 키를 업데이트하거나 제거하고 Cloud Manager을 통해 다시 배포합니다.
설명 description
환경
- Adobe Experience Manager (AEM) as a Cloud Service
- Cloud Manager CI/CD 파이프라인(스테이지/프로덕션)
- Sling 기능 시작 관리자
문제/증상
- 배포 파이프라인이 시스템 문제 메시지와 함께 실패합니다.
- 2시간 이상 실행한 후 서비스 업데이트 하위 단계에서 오류가 발생합니다.
원인
-
프로젝트 코드 베이스의 잘못된 OSGi 구성 속성으로 인해 Sling 기능 런처를 초기화하지 못했습니다.
-
다음은 OSGi 구성 파일에 빈 속성 키가 있는 예입니다.
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." }
시작 중 구성을 구문 분석하는 동안 빈 속성("")으로 인해 AEM이 실패하고 서비스 업데이트 단계에서 파이프라인 오류가 발생합니다.
해결 방법 resolution
이 문제를 해결하려면 영향을 받는 구성 파일에서 잘못된 속성을 업데이트하거나 제거합니다.
-
일반적으로 아래에 있는 영향을 받는 구성 파일을 엽니다.
ui.config/src/main/content/jcr_root/apps/<project-name>/osgiconfig/config.<runmode>/
자세한 내용은 Adobe Experience Manager as a Cloud Service에 대한 OSGi 구성을 참조하십시오. -
잘못된 속성을 제거하거나 수정합니다.
예(속성 수정)
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." }중요: OSGi 구성 파일에 직접 비밀, 암호, API 키 또는 기타 중요한 정보를 포함하지 마십시오. 중요한 값을 안전하게 관리하려면 Cloud Manager의 환경 변수를 사용하십시오.
-
Cloud Manager을 통해 수정된 구성을 커밋하고 재배포합니다. 자세한 내용은 AEM as a Cloud Service 사용 안내서의 AEM as a Cloud Service에 배포를 참조하십시오.
구성을 수정한 후에는 파이프라인이 정상적으로 실행되어야 합니다.
추가 참고 사항
jsonlint또는 IDE 기반 유효성 검사와 같은 도구를 사용하여 커밋하기 전에 로컬에서 JSON 구성의 유효성을 검사하십시오.- 모든 속성 이름이 비어 있지 않고 고유하며 올바르게 입력되었는지 확인하십시오.
- Cloud Manager의 AEM as a Cloud Service 빌드 로그를 검토하여 구성 문제를 조기에 감지합니다.
- 구성을
config.<runmode>개 폴더(예:config.author,config.publish) 아래에 배치하여 환경별로 유지합니다.