Adobe Commerce Patching Automation 워크플로 개요

이 항목에서는 Adobe Commerce Patching Automation을(를) 사용하여 패치 작업이 작동하는 방식에 대한 높은 수준의 개요를 제공합니다.

Terminology

  • 작업 - 서비스에서 수행하는 기본 작업:

    • 적용
    • 되돌리기
  • 단계 - 워크플로의 세 단계:

    • 예비 검사
    • 패치 중
    • 유효성 검사
  • 환경 - 패치가 적용되는 Adobe Commerce Cloud 환경입니다.

작업

Patching Automation은(는) Adobe Commerce 클라우드 환경에서 패치를 관리하기 위해 두 가지 기본 작업​을 지원합니다.

  • 적용 작업 - 안전하고 검증된 프로세스를 통해 코드 베이스에 패치 변경 사항을 추가합니다. m2-hotfixes 폴더에 패치 파일을 배치하여 패치를 적용합니다.

  • 되돌리기 작업 - m2-hotfixes 폴더에서 패치 파일을 제거하여 코드 베이스에서 이전에 적용된 패치를 제거합니다.

IMPORTANT
원래 Patching Automation을(를) 통해 적용된 패치에만 되돌리기 작업을 사용할 수 있습니다. 수동으로 또는 다른 방법을 통해 적용된 패치는 이 서비스를 사용하여 되돌릴 수 없습니다.

단계

Patching Automation 워크플로에서는 패치가 안전하고 안정적으로 적용되도록 하기 위해 항상 이 순서로 실행되는 세 개의 단계​를 사용합니다.

  • 사전 확인 - 패치 호환성 및 환경 준비 상태를 확인합니다.
  • 패치 중 - 통합 환경에서 패치를 적용하거나 되돌립니다.
  • 유효성 검사 - 패치 응용 프로그램의 유효성을 검사하고 상태 검사를 수행합니다.

단계 세부 정보

1단계: 사전 확인

예비 확인 단계에서는 패치를 환경에 안전하게 적용할 수 있는지 확인합니다.

결과:

  • 프로덕션 환경 보호(프로덕션 환경만 해당):

    • 스토어가 유지 관리 모드인지 확인
    • cron 작업이 비활성화되었는지 확인
    • 조건이 충족되지 않을 경우 패치 작업 차단
    • 조건이 충족되는 경우 확인 대화 상자를 표시합니다.
  • 패치 유효성 검사 - 패치 파일이 유효하고 호환되는지 확인합니다.

  • 환경 평가 - 환경 준비 및 리소스를 확인합니다.

  • 충돌 검색 - 기존 코드와의 잠재적인 충돌을 식별합니다.

  • 종속성 확인 - Adobe Commerce 버전 호환성을 확인합니다.

2단계: 패치 작업

패치 작업 단계는 임시 통합 환경에서 패치를 적용하거나 되돌립니다. 이 단계에서 서비스는 임시 통합 환경을 만들어 패치를 안전하게 적용하고 성공적으로 배포되었는지 확인한 다음 실제 환경을 변경하기 전에 상태 검사를 통과하는지 확인합니다.

이 접근 방식은 다음을 제공합니다.

  • 안전 - 통합 환경이 성공적으로 배포되고 상태 검사를 통과할 때까지 대상 환경을 그대로 유지합니다.
  • 롤백 기능 - 문제가 감지된 경우
  • 격리 - 각 패치 작업에 대해

2a 단계: 통합 환경 생성

분기 만들기 - Patching Automation에서 이름이 {target-environment}-CAPS-{patch-id}인 임시 통합 환경 분기를 만듭니다.

환경 설정 - 통합 환경이 대상 환경의 하위 환경으로 만들어집니다.

코드 동기화 - 통합 환경은 대상 환경의 정확한 코드 상태(동일한 코드베이스)를 상속합니다.

데이터 복제 없음 - 통합 환경이 대상 환경의 데이터(데이터베이스, 미디어 또는 기타 저장된 콘텐츠) 복사본을 받지 않습니다. 코드베이스만 사용하여 패치를 적용하고 확인합니다

리소스 요구 사항 - 클라우드 프로젝트의 총 저장소 용량이 계약에 정의되어 있습니다. 계정 페이지 또는 magento-cloud subscription:info을(를) 통해 확인하세요. 각 환경의 디스크 할당은 .magento.app.yaml/.magento/services.yamldisk 속성을 통해 별도로 구성됩니다. 자세한 내용은 디스크 공간 관리를 참조하십시오. 저장소 제한으로 인해 패치 작업이 실패하는 경우 구성된 할당에 대해 통합 환경의 디스크 사용량(magento-cloud db:size / magento-cloud mount:size)을 확인하십시오.

2b 단계: 통합 환경에서 애플리케이션 패치 적용

안전 테스트 - 패치가 대상 환경에 직접 적용되지 않고 통합 환경에 적용됩니다.

파일 관리 - 패치 파일이 m2-hotfixes 폴더에 있습니다.

Git 작업 - 변경 내용이 커밋되고 통합 환경 분기에 푸시됨

환경 활성화 - 통합 환경이 활성화된 후 패치된 코드를 배포합니다.

상태 검사 - 활성화된 후에는 병합을 진행하기 전에 Patching Automation에서 다음을 확인합니다. 통합 환경이 성공적으로 배포되었으며 상태가 정상이고 응용 프로그램이 시작되며 데이터베이스 및 캐시 연결에 연결할 수 있습니다.

NOTE
프로젝트에서 외부 GitHub 리포지토리를 사용하는 경우 서비스는 Patching Automation GitHub 앱을 사용하여 자동으로 인증을 처리합니다. 앱을 설치하는 것 외에 추가 자격 증명이 필요하지 않습니다.

2c 단계: 대상 환경으로 다시 병합

동기화 확인 - 병합하기 전에 서비스는 통합 환경이 여전히 활성 상태이고 대상 환경과 동기화되어 있으며 정상인지 확인합니다. 패치 작업 중에 대상이 변경된 경우 병합하는 대신 여기에서 작업이 중지됩니다

환경 체크 아웃 - 서비스가 대상 환경을 로컬로 체크 아웃합니다.

병합 작업 - 통합 환경 분기가 대상 환경에 병합됩니다.

충돌 처리 - 병합 충돌이 발생하면 작업이 실패하고 오류로 보고됩니다. 자동으로 해결되지 않습니다.

배포 - 병합된 변경 내용이 대상 환경에 배포됩니다.

확인 - 서비스는 병합이 성공했으며 환경이 동기화 상태인지 확인합니다

통합 환경 라이프사이클

통합 환경에는 패치 단계 동안 다음과 같은 특정 라이프사이클이 있습니다.

  • 만들기 - 패치 단계 시작 시 생성됨
  • 활성 기간 - 패치 적용 및 테스트 동안 활성 상태 유지
  • 정리 - 병합 전 패치 작업 단계에서 작업이 실패하면 즉시 삭제됩니다. 유효성 검사 단계 중, 병합 후 유효성 검사 통과 여부에 관계없이 삭제됨

3단계: 유효성 검사

유효성 검사 단계에서는 패치된 응용 프로그램이 성공적으로 시작되고 상태 검사를 통과하는지 확인합니다.

결과:

  • 응용 프로그램 상태 검사 - 응용 프로그램이 제대로 시작 및 실행되고 해당 데이터베이스와 캐시 연결에 연결할 수 있는지 확인합니다.
  • 정리 - 임시 통합 환경을 제거하고 완료를 반영하도록 작업 상태를 업데이트합니다. 환경의 활동은 프로젝트의 활동 피드에 계속 표시됩니다.
IMPORTANT
1단계 및 2단계와 달리 이 상태 검사는 after​에 이미 대상 환경에 병합된 상태로 실행됩니다. 실패하면 병합이 자동으로 롤백되지 않습니다. 타겟 환경을 중단된 상태로 둘 수 있으며 이를 복원하려면 수동 작업(예: 패치 복원)이 필요합니다. 이 경우 수행할 작업에 대해서는 문제 해결을 참조하십시오.

성공 지표

적용 작업:

  • “작업이 완료되었습니다.” - 문제 없이 적용된 패치
  • “Patch가 적용되었습니다.” - 패치가 이미 있습니다(작업이 필요 없음).
  • 패치 파일이 m2-hotfixes 폴더에 배치되었습니다.
  • 모든 유효성 검사 통과
  • 애플리케이션 상태 검사 성공

되돌리기 작업:

  • “작업이 완료되었습니다.” - 문제 없이 패치가 되돌려졌습니다.
  • “Patch가 복구되었습니다.” - 패치가 이미 복구되었습니다(조치 필요 없음).
  • m2-hotfixes 폴더에서 패치 파일을 제거했습니다.
  • 모든 유효성 검사 통과
  • 애플리케이션 상태 검사 성공

프로덕션 환경 보호

프로덕션 환경에서 패치를 적용하거나 되돌리면 다른 환경보다 더 많은 위험이 따르므로 Patching Automation에는 프로덕션에만 적용되는 두 가지 보호 장치가 포함됩니다.

시작하기 전 확인

프로덕션 환경에서 적용 또는 되돌리기 작업이 시작되기 전에 대화 상자에서 작업을 확인하라는 메시지가 표시됩니다. 이 확인 단계는 프로덕션에서 실수로 작업을 시작하지 않도록 보호합니다.

권장 사전 조건

Adobe에서는 프로덕션 환경을 패치하기 전에 유지 관리 모드를 활성화하고 cron 작업을 비활성화하는 것이 좋습니다. 기본적으로 Patching Automation은(는) 두 조건이 모두 충족되었는지 확인하고 조건 중 하나가 충족되지 않으면 알림으로 작업을 차단합니다. 유지 관리 모드 없이 또는 cron 작업을 활성화한 상태로 진행할 때의 위험을 이해하면 UI에서 무시 확인란을 선택하여 이 확인란을 무시합니다.

  • 유지 관리 모드 - 사용하도록 권장됨
  • 크론 작업 - 사용하지 않도록 설정하는 것이 좋습니다.

관련 항목

recommendation-more-help
commerce-operations-help-tools