패치 작동 방식

WARNING
프로덕션에 배포하기 전에 스테이징 또는 개발 환경에서 모든 패치를 테스트하는 것이 좋습니다. 또한 패치를 적용하기 전에 데이터를 백업하는 것이 좋습니다. 다음을 참조하십시오 파일 시스템 백업 및 롤백.

패치(또는 diff) 파일은 다음을 참고하는 텍스트 파일입니다.

  • 변경할 파일입니다.
  • 변경을 시작할 줄 번호와 변경할 줄 수입니다.
  • 스왑할 새 코드.

패치 프로그램이 실행되면 이 파일을 읽고 지정된 변경 사항이 파일에 적용됩니다.

세 가지 유형의 패치가 있습니다.

  • 핫픽스—Adobe이에 게시하는 패치 보안 센터.
  • 개별 패치- Adobe Commerce 지원에서 개별적으로 만들고 배포하는 패치입니다.
  • 사용자 지정 패치- git 커밋에서 생성할 수 있는 비공식 패치입니다.

핫픽스

핫픽스는 많은 판매자에게 영향을 미치는 높은 수준의 보안 또는 품질 수정 사항이 포함된 패치입니다. 이러한 수정 사항은 적용 가능한 부 버전에 대한 다음 패치 릴리스에 적용됩니다. Adobe은 필요에 따라 핫픽스를 릴리스합니다.

에서 핫픽스를 찾을 수 있습니다. 보안 센터. 버전과 설치 유형에 따라 페이지의 지침에 따라 패치 파일을 다운로드합니다. 사용 명령줄 또는 작성기 핫픽스 패치를 적용합니다.

NOTE
핫픽스에는 이전 버전과 호환 불가능한 변경 사항이 포함될 수 있습니다.

개별 패치

개별 패치에는 특정 문제에 대한 영향이 적은 품질 수정 사항이 포함되어 있습니다. 이러한 수정 사항은 가장 최근에 지원되는 부 버전(예: 2.4.x)에 적용되지만 이전에 지원되는 부 버전(예: 2.3.x)에서 누락될 수 있습니다. Adobe은 필요에 따라 개별 패치를 릴리스합니다.

사용 Quality Patches Tool 개별 패치를 적용합니다.

NOTE
개별 패치에는 이전 버전과 호환 불가능한 변경 사항이 포함되어 있지 않습니다.

사용자 지정 패치

Adobe 엔지니어링 팀이 Adobe Commerce Composer 릴리스의 GitHub에서 버그 수정을 포함하는 데 시간이 걸릴 수 있습니다. 그동안 GitHub에서 패치를 만들고 cweagans/composer-patches 작성기 기반 설치에 적용할 플러그인입니다.

사용 명령줄 또는 작성기 사용자 지정 패치를 적용합니다.

사용자 지정 패치 파일을 만드는 방법은 여러 가지가 있습니다. 다음 예제는 알려진 git 커밋에서 패치를 만드는 데 중점을 둡니다.

사용자 지정 패치를 만들려면 다음 작업을 수행하십시오.

  1. 만들기 patches/composer 로컬 프로젝트에 있는 디렉터리입니다.

  2. 패치에 사용할 GitHub 커밋 또는 가져오기 요청을 식별합니다. 이 예에서는 2d31571 커밋, GitHub 문제에 연결됨 #6474.

  3. 추가 .patch 또는 .diff 확장을 커밋 URL에 추가합니다. 사용 .diff 를 사용하십시오. 예: https://github.com/magento/magento2/commit/2d31571f1bacd11aa2ec795180abf682e0e9aede.diff

  4. 페이지를 의 파일로 저장 patches/composer 디렉토리. 예를 들어, github-issue-6474.diff.

  5. 파일 편집 및 제거 app/code/<VENDOR>/<PACKAGE> 를 기준으로 모든 경로에서 vendor/<VENDOR>/<PACKAGE> 디렉토리.

    note note
    NOTE
    후행 공백을 자동으로 제거하거나 새 줄을 추가하는 텍스트 편집기로 패치가 손상될 수 있습니다. 간단한 텍스트 편집기를 사용하여 이러한 변경 작업을 수행합니다.

다음 예제는 의 모든 인스턴스를 제거한 후 이전에 언급된 DIFF 파일을 보여 줍니다. app/code/Magento/Payment:

diff --git a/view/frontend/web/js/view/payment/iframe.js b/view/frontend/web/js/view/payment/iframe.js
index c8a6fef58d31..7d01c195791e 100644
--- a/view/frontend/web/js/view/payment/iframe.js
+++ b/view/frontend/web/js/view/payment/iframe.js
@@ -154,6 +154,7 @@ define(
              */
             clearTimeout: function () {
                 clearTimeout(this.timeoutId);
+                this.fail();

                 return this;
             },

패치 적용

다음 방법 중 하나를 사용하여 패치를 적용할 수 있습니다.

NOTE
Adobe Commerce on cloud infrastructure 프로젝트에 패치를 적용하려면 다음을 참조하십시오. 패치 적용 다음에서 Commerce on Cloud 안내서.
recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea