AEM as a Cloud Service에서 Cloud Manager 파이프라인을 사용하여 프로덕션에 코드를 배포하는 방법에 대해 알아봅니다.
코드를 스테이지에 원활하게 배포한 다음 프로덕션 파이프라인을 통해 프로덕션까지 배포합니다. 프로덕션 파이프라인 실행은 두 가지 논리적 단계로 나뉩니다.
전체 스택 코드 파이프라인 유형만 코드 스캔, 기능 테스트, UI 테스트 및 경험 감사를 지원합니다.
저장소, 환경 및 테스트 환경을 포함하여 프로덕션 파이프라인을 구성했으면 코드를 배포할 준비가 된 것입니다.
my.cloudmanager.adobe.com에서 Cloud Manager에 로그인한 다음 적절한 조직을 선택합니다.
코드를 배포할 프로그램을 클릭합니다.
개요 화면의 콜 투 액션에서 배포를 클릭하여 배포 프로세스를 시작합니다.
파이프라인 실행 화면이 표시됩니다. 빌드를 클릭하여 프로세스를 시작합니다.
빌드 프로세스는 세 단계를 통해 코드를 배포합니다.
테스트 기준에 대한 로그를 보거나 결과를 검토하여 다양한 배포 프로세스의 단계를 검토할 수 있습니다.
스테이지 배포 단계는 다음과 같이 진행됩니다.
스테이지 테스트 단계는 다음과 같이 진행됩니다.
제품 기능 테스트 - Cloud Manager 파이프라인이 스테이징 환경에 대해 실행되는 테스트를 실행합니다.
사용자 정의 기능 테스트 - 파이프라인의 이 단계는 항상 실행되며 건너뛸 수 없습니다. 빌드에서 테스트 JAR이 생성되지 않으면 기본적으로 테스트가 통과합니다.
사용자 정의 UI 테스트 - 이 단계는 사용자 정의 애플리케이션에 대해 만들어진 UI 테스트를 자동으로 실행하는 선택적 기능입니다.
경험 감사 - 파이프라인의 이 단계는 항상 실행되며 건너뛸 수 없습니다. 프로덕션 파이프라인이 실행되면 검사를 실행할 사용자 정의 기능 테스트 후에 경험 감사 단계가 포함됩니다.
프로덕션 토폴로지에 배포하는 프로세스는 방문자가 AEM 사이트에 미치는 영향을 최소화하기 위해 약간 달라집니다.
프로덕션 배포는 일반적으로 이전에 설명한 것과 동일한 단계를 따르지만 롤링 방식으로 수행됩니다.
이 프로세스는 배포가 토폴로지의 모든 게시자 및 dispatcher에 도달할 때까지 계속됩니다.
다음 단계는 사용자 피드백을 기다리는 동안 시간이 초과됩니다.
단계 | 시간 초과 |
---|---|
코드 품질 테스트 | 14일 |
보안 테스트 | 14일 |
성능 테스트 | 14일 |
승인 신청 | 14일 |
프로덕션 배포 예약 | 14일 |
CSE 지원 | 14일 |
모든 Cloud Service 배포는 롤링 프로세스를 통해 가동 중지 없이 구현됩니다. 자세한 내용은 롤링 배포 작동 방법 문서를 참조하십시오.
Dispatcher 캐시는 각 배포에서 지워집니다. 이후 새 게시 노드가 트래픽을 수락하기 전에 예열됩니다.
프로덕션 배포 단계가 완료된 실행에 대해 프로덕션 배포 단계의 재실행이 지원됩니다. 완료 유형은 중요하지 않습니다. 취소되거나 실패한 배포도 가능합니다. 즉, 주요 사용 사례는 일시적인 이유로 프로덕션 배포 단계가 실패한 경우입니다. 재실행은 동일한 파이프라인을 사용하여 새 실행을 만듭니다. 이 새로운 실행은 세 단계로 구성됩니다.
빌드 단계는 재빌드가 아니라 아티팩트를 복사하는 것임을 나타내기 위해 UI의 레이블이 약간 달라질 수 있습니다.
제한 사항:
실행이 재실행인지 식별하기 위해 트리거 필드를 검사할 수 있습니다. 이 값은 RE_EXECUTE가 됩니다.
재실행을 트리거하려면 프로덕션 배포 단계 상태에서 HAL 링크 <(https://ns.adobe.com/adobecloud/rel/pipeline/reExecute)>에 대해 PUT 요청을 수행해야 합니다. 이 링크가 있으면 해당 단계에서 재실행할 수 있습니다. 이 링크가 없으면 해당 단계에서 재실행할 수 없습니다. 초기 릴리스에서 이 링크는 프로덕션 배포 단계에만 표시되지만 향후 릴리스에서는 다른 단계에서의 파이프라인 시작을 지원할 수 있습니다. 예:
{
"_links": {
"https://ns.adobe.com/adobecloud/rel/pipeline/logs": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/logs",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/reExecute": {
"href": "/api/program/4/pipeline/1/execution?stepId=2983530",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/metrics": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/metrics",
"templated": false
},
"self": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530",
"templated": false
}
},
"id": "6187842",
"stepId": "2983530",
"phaseId": "1575676",
"action": "deploy",
"environment": "weretail-global-b75-prod",
"environmentType": "prod",
"environmentId": "59254",
"startedAt": "2022-01-20T14:47:41.247+0000",
"finishedAt": "2022-01-20T15:06:19.885+0000",
"updatedAt": "2022-01-20T15:06:20.803+0000",
"details": {
},
"status": "FINISHED"
위의 HAL 링크의 href 값 구문은 참조 지점으로 사용하기 위한 것이 아닙니다. 실제 값은 항상 HAL 링크에서 읽어야 하며 생성되지 않아야 합니다.
이 끝점에 PUT 요청을 제출하면 성공 시 201 응답이 발생하고 응답 본문은 새 실행을 나타냅니다. 이는 API를 통해 일반 실행을 시작하는 것과 유사합니다.