Giter Site home page Giter Site logo

quality-patches's Introduction

Magento Quality Patches (MQP)

Welcome to the Magento Quality Patches tool!

Overview

Magento Quality Patches tool is designed to distribute quality patches across Cloud and OnPrem Magento customers so that customers can get the latest available patches, select the required, and apply them.

Installation

On-Prem Project

$ composer require magento/quality-patches

Cloud Project

The MQP package is a dependency for the ece-tools package starting from v.2002.1.2 and is installed or updated when you update the ece-tools package version.

Usage - On-Prem Project

Make sure to test all patches in a pre-production environment. For the changes to be reflected, refresh the cache in the Admin under System > Tools > Cache Management

Use $ ./vendor/bin/magento-patches script

Status command

Show information about available patches for current Magento version:

$ ./vendor/bin/magento-patches status

Apply command

Applies provided list of patches:

$ ./vendor/bin/magento-patches apply MAGETWO-95591 MAGETWO-67097

Revert command

Reverts provided list of patches:

$ ./vendor/bin/magento-patches revert MAGETWO-95591 MAGETWO-67097

Reverts all patches:

$ ./vendor/bin/magento-patches revert --all

Usage - Cloud Project

Make sure to test all patches in a pre-production environment. For Magento Cloud, new branches can be created with magento-cloud environment:branch

Use $ ./vendor/bin/ece-patches script

Applying a patch

Add to .magento.env.yaml environment variable QUALITY_PATCHES with a list of patches to apply:

stage:
    build:
        QUALITY_PATCHES:
            - MCTEST-1002
            - MCTEST-1003

Commit and push updated .magento.env.yaml file into the remote branch. Patches will be applied during deploy process.

Apply patches manually in a local environment

You can apply patches manually in a local environment and test them before you deploy.

To apply Magento Commerce Cloud patches manually:

  1. Add to .magento.env.yaml environment variable QUALITY_PATCHES with a list of patches to apply
  2. From the project root, apply the patches: $ ./vendor/bin/ece-patches apply Patches will be applied in the following order:
    • Cloud-required patches
    • Magento-quality patches from .magento.env.yaml
    • Custom patches from the /m2-hotfixes directory.
  3. Check with ./vendor/bin/ece-patches status if the patch was applied
  4. Clear the Magento cache $ ./bin/magento cache:clean

Test the patches, make any necessary changes to custom patches.

Revert patches in a local environment

You can revert patches in a local environment to clean instance:

$ ./vendor/bin/ece-patches revert

Patches will be reverted in the following order:

  • Custom patches from the /m2-hotfixes directory.
  • Magento-quality patches
  • Cloud-required patches

Status command information

Status:

  • Applied - the patch is already applied
  • Not applied - the patch is not applied
  • N/A - if the status of patch cannot be defined due to some conflicts

Type:

  • Optional - all patches from Magento Quality Patches are optional for Cloud & On-Prem customers
  • Required - all patches from Magento Cloud Patches are required for Cloud and optional for On-Prem customers
  • Deprecated - patch is marked as deprecated (there is a recommendation to revert if it was applied)
  • Custom - customer specific patches from m2-hotfixes folder (Cloud only)

Details:

  • Affected components - show the list of affected components (magento-modules)
  • Required patches - shows the list of required patches (dependencies)
  • Recommended replacement - patch, that is recommended for replacement of deprecated patch

quality-patches's People

Contributors

viktym avatar bados avatar ilima-ebay avatar ypyltiai avatar abukatar avatar magento-engcom-team avatar viktorpetryk avatar agorbivskyi avatar bubasuma avatar rykh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.