Adobe Commerce Patching Automation 워크플로 개요
이 항목에서는 Adobe Commerce Patching Automation을(를) 사용하여 패치 작업이 작동하는 방식에 대한 높은 수준의 개요를 제공합니다.
Terminology
-
작업 - 서비스에서 수행하는 기본 작업:
- 적용
- 되돌리기
-
단계 - 워크플로의 세 단계:
- 예비 검사
- 패치 중
- 유효성 검사
-
환경 - 패치가 적용되는 Adobe Commerce Cloud 환경입니다.
작업
Patching Automation은(는) Adobe Commerce 클라우드 환경에서 패치를 관리하기 위해 두 가지 기본 작업을 지원합니다.
-
적용 작업 - 안전하고 검증된 프로세스를 통해 코드 베이스에 패치 변경 사항을 추가합니다.
m2-hotfixes폴더에 패치 파일을 배치하여 패치를 적용합니다. -
되돌리기 작업 -
m2-hotfixes폴더에서 패치 파일을 제거하여 코드 베이스에서 이전에 적용된 패치를 제거합니다.
단계
Patching Automation 워크플로에서는 패치가 안전하고 안정적으로 적용되도록 하기 위해 항상 이 순서로 실행되는 세 개의 단계를 사용합니다.
- 사전 확인 - 패치 호환성 및 환경 준비 상태를 확인합니다.
- 패치 중 - 통합 환경에서 패치를 적용하거나 되돌립니다.
- 유효성 검사 - 패치 응용 프로그램의 유효성을 검사하고 상태 검사를 수행합니다.
단계 세부 정보
1단계: 사전 확인
예비 확인 단계에서는 패치를 환경에 안전하게 적용할 수 있는지 확인합니다.
결과:
-
프로덕션 환경 보호(프로덕션 환경만 해당):
- 스토어가 유지 관리 모드인지 확인
- cron 작업이 비활성화되었는지 확인
- 조건이 충족되지 않을 경우 패치 작업 차단
- 조건이 충족되는 경우 확인 대화 상자를 표시합니다.
-
패치 유효성 검사 - 패치 파일이 유효하고 호환되는지 확인합니다.
-
환경 평가 - 환경 준비 및 리소스를 확인합니다.
-
충돌 검색 - 기존 코드와의 잠재적인 충돌을 식별합니다.
-
종속성 확인 - Adobe Commerce 버전 호환성을 확인합니다.
2단계: 패치 작업
패치 작업 단계는 임시 통합 환경에서 패치를 적용하거나 되돌립니다. 이 단계에서 서비스는 임시 통합 환경을 만들어 패치를 안전하게 적용하고 성공적으로 배포되었는지 확인한 다음 실제 환경을 변경하기 전에 상태 검사를 통과하는지 확인합니다.
이 접근 방식은 다음을 제공합니다.
- 안전 - 통합 환경이 성공적으로 배포되고 상태 검사를 통과할 때까지 대상 환경을 그대로 유지합니다.
- 롤백 기능 - 문제가 감지된 경우
- 격리 - 각 패치 작업에 대해
2a 단계: 통합 환경 생성
분기 만들기 - Patching Automation에서 이름이 {target-environment}-CAPS-{patch-id}인 임시 통합 환경 분기를 만듭니다.
환경 설정 - 통합 환경이 대상 환경의 하위 환경으로 만들어집니다.
코드 동기화 - 통합 환경은 대상 환경의 정확한 코드 상태(동일한 코드베이스)를 상속합니다.
데이터 복제 없음 - 통합 환경이 대상 환경의 데이터(데이터베이스, 미디어 또는 기타 저장된 콘텐츠) 복사본을 받지 않습니다. 코드베이스만 사용하여 패치를 적용하고 확인합니다
리소스 요구 사항 - 클라우드 프로젝트의 총 저장소 용량이 계약에 정의되어 있습니다. 계정 페이지 또는 magento-cloud subscription:info을(를) 통해 확인하세요. 각 환경의 디스크 할당은 .magento.app.yaml/.magento/services.yaml의 disk 속성을 통해 별도로 구성됩니다. 자세한 내용은 디스크 공간 관리를 참조하십시오. 저장소 제한으로 인해 패치 작업이 실패하는 경우 구성된 할당에 대해 통합 환경의 디스크 사용량(magento-cloud db:size / magento-cloud mount:size)을 확인하십시오.
2b 단계: 통합 환경에서 애플리케이션 패치 적용
안전 테스트 - 패치가 대상 환경에 직접 적용되지 않고 통합 환경에 적용됩니다.
파일 관리 - 패치 파일이 m2-hotfixes 폴더에 있습니다.
Git 작업 - 변경 내용이 커밋되고 통합 환경 분기에 푸시됨
환경 활성화 - 통합 환경이 활성화된 후 패치된 코드를 배포합니다.
상태 검사 - 활성화된 후에는 병합을 진행하기 전에 Patching Automation에서 다음을 확인합니다. 통합 환경이 성공적으로 배포되었으며 상태가 정상이고 응용 프로그램이 시작되며 데이터베이스 및 캐시 연결에 연결할 수 있습니다.
2c 단계: 대상 환경으로 다시 병합
동기화 확인 - 병합하기 전에 서비스는 통합 환경이 여전히 활성 상태이고 대상 환경과 동기화되어 있으며 정상인지 확인합니다. 패치 작업 중에 대상이 변경된 경우 병합하는 대신 여기에서 작업이 중지됩니다
환경 체크 아웃 - 서비스가 대상 환경을 로컬로 체크 아웃합니다.
병합 작업 - 통합 환경 분기가 대상 환경에 병합됩니다.
충돌 처리 - 병합 충돌이 발생하면 작업이 실패하고 오류로 보고됩니다. 자동으로 해결되지 않습니다.
배포 - 병합된 변경 내용이 대상 환경에 배포됩니다.
확인 - 서비스는 병합이 성공했으며 환경이 동기화 상태인지 확인합니다
통합 환경 라이프사이클
통합 환경에는 패치 단계 동안 다음과 같은 특정 라이프사이클이 있습니다.
- 만들기 - 패치 단계 시작 시 생성됨
- 활성 기간 - 패치 적용 및 테스트 동안 활성 상태 유지
- 정리 - 병합 전 패치 작업 단계에서 작업이 실패하면 즉시 삭제됩니다. 유효성 검사 단계 중, 병합 후 유효성 검사 통과 여부에 관계없이 삭제됨
3단계: 유효성 검사
유효성 검사 단계에서는 패치된 응용 프로그램이 성공적으로 시작되고 상태 검사를 통과하는지 확인합니다.
결과:
- 응용 프로그램 상태 검사 - 응용 프로그램이 제대로 시작 및 실행되고 해당 데이터베이스와 캐시 연결에 연결할 수 있는지 확인합니다.
- 정리 - 임시 통합 환경을 제거하고 완료를 반영하도록 작업 상태를 업데이트합니다. 환경의 활동은 프로젝트의 활동 피드에 계속 표시됩니다.
성공 지표
적용 작업:
- “작업이 완료되었습니다.” - 문제 없이 적용된 패치
- “Patch가 적용되었습니다.” - 패치가 이미 있습니다(작업이 필요 없음).
- 패치 파일이
m2-hotfixes폴더에 배치되었습니다. - 모든 유효성 검사 통과
- 애플리케이션 상태 검사 성공
되돌리기 작업:
- “작업이 완료되었습니다.” - 문제 없이 패치가 되돌려졌습니다.
- “Patch가 복구되었습니다.” - 패치가 이미 복구되었습니다(조치 필요 없음).
m2-hotfixes폴더에서 패치 파일을 제거했습니다.- 모든 유효성 검사 통과
- 애플리케이션 상태 검사 성공
프로덕션 환경 보호
프로덕션 환경에서 패치를 적용하거나 되돌리면 다른 환경보다 더 많은 위험이 따르므로 Patching Automation에는 프로덕션에만 적용되는 두 가지 보호 장치가 포함됩니다.
시작하기 전 확인
프로덕션 환경에서 적용 또는 되돌리기 작업이 시작되기 전에 대화 상자에서 작업을 확인하라는 메시지가 표시됩니다. 이 확인 단계는 프로덕션에서 실수로 작업을 시작하지 않도록 보호합니다.
권장 사전 조건
Adobe에서는 프로덕션 환경을 패치하기 전에 유지 관리 모드를 활성화하고 cron 작업을 비활성화하는 것이 좋습니다. 기본적으로 Patching Automation은(는) 두 조건이 모두 충족되었는지 확인하고 조건 중 하나가 충족되지 않으면 알림으로 작업을 차단합니다. 유지 관리 모드 없이 또는 cron 작업을 활성화한 상태로 진행할 때의 위험을 이해하면 UI에서 무시 확인란을 선택하여 이 확인란을 무시합니다.
- 유지 관리 모드 - 사용하도록 권장됨
- 크론 작업 - 사용하지 않도록 설정하는 것이 좋습니다.