複数の個別のストアを実行および更新するためのベストプラクティス


7

3年前、私は多くの独立した顧客のためにマジェントのウェブショップを運営する会社の一員でした。最後に経験したことは、すべてのショップに影響する変更(バグ修正)またはmagentoのアップグレードを行う場合、ケースバイケースでそれを行わなければならなかったということです。

すべてのショップを一度にアップグレードし、すべての一般的な問題を簡単な方法で修正できる構造を設定する方法がある場合は、ご意見をお寄せください。

すべてのショップのコアは同じですが、モジュールなどは異なる場合があります。それぞれが個別の店舗なので。


多くの異なるインストール、または1つのインストールと複数のストアがありますか?
brentwpeterson 2015年

多くの異なるインストール
David Gulbrandsen、2015年

これは、すべてのショップが同一であり、正しいコードのバリエーションがないことを前提としていますか?
brentwpeterson、2015年

すべてのショップのコアは同じですが、モジュールなどは異なる場合があります。それぞれが個別の店舗なので。
David Gulbrandsen、2015年

1
コアファイルをシンボリックリンクすることはできますが、それでもなお、個々のストアを処理する必要があります。どれだけ先に行くかわからない
brentwpeterson 2015年

回答:


6

MagentoプロジェクトをComposerでセットアップすることをお勧めします。次に、Magentoコアを依存関係として含め、すべての公式アップデートとパッチを含む単一の個別リポジトリで管理できます。そこにカスタムパッチを含めることもできますが、別のリポジトリに保存したいと思います。

これは、コアとカスタマイズを分離した場合にのみ機能します。すでにmodmanを使用している場合、良いお知らせがあります。移行は簡単です。

ただし、いくつかのモノリシックプロジェクトリポジトリから取得する場合、カスタマイズをコアから分離するために初期の努力が必要です。

使い方

(新規プロジェクト設定の手順)

  1. Magentoコアを含むリポジトリを作成し、そのcomposer.json中に次の内容のファイルを作成します。

    {
        "name": "magento/ce",
        "type": "magento-source",
        "require": {}
    }

    https://github.com/OpenMage/magento-mirrorまたはhttps://github.com/firegento/magentoのような既存のミラーの1つを複製できます。これらには、セキュリティパッチを含む最新のコミュニティバージョンがすべて含まれていますが、追加する必要がありますcomposer.json(重要なビットがあり"type": "magento-source"、これはMagentoのコアが含まれている作曲インストーラに指示され、)。

  2. 作成しcomposer.json、このコンテンツを使用して、プロジェクト内のファイルを(置き換えるurl_to_your_magento_repo.git私たちは前に作成したリポジトリのURLを(例えばgit@bitbucket.org:your-company/magento-ce.git

    {
        "require": {
            "aoepeople/composer-installers": "dev-master",
            "magento/ce": "dev-master"
        }
        "minimum-stability": "dev",
        "repositories": [
            {
                "type": "vcs",
                "url": "url_to_your_magento_repo.git"
            },
            {
                "type": "composer",
                "url": "http://packages.firegento.com"
            }
        ],
        "extra":{
            "installer-paths": {
                "www/" : [ "type:magento-source" ],
                ".modman/{$vendor}_{$name}/" : [ "type:magento-module" ]
            }
        }
    }

    これは、Magentoソースをにインストールするようにcomposerに指示しwww、Magentoモジュールをcomposerを使用してインストールする可能性があることを指示します.modman"magento/ce": "dev-master"特定のバージョンまたはブランチに置き換えることができます。ブランチの先頭には「dev-」を付ける必要があります。

  3. 実行composer installして依存関係をインストールします(つまり、Magentoコア)

  4. modmanを入手して実行しmodman init wwwます。Modmanは、モジュールをコアから分離するためのシンボリックリンクを作成するツールです。

  5. シンボリックリンクを定義.modmanするmodmanファイルを使用して、すべてのカスタマイズを内部のモジュールとして記述し、実行modman deploy MODULE_NAMEしてシンボリックリンクを作成します。詳細については、modmanのドキュメントを参照してください。

  6. あなたは、いくつかのサイトで使用するカスタムモジュールは、しかしでMagentoのコアリポジトリに似た別のリポジトリとして作成することができます"type": "magento-module"。また、modmanファイルが含まれている必要があります。このようなリポジトリを依存関係として定義して実行composer updateすると、モジュールが見つかり、シンボリックリンクの作成に.modman使用できますmodman deploy

このプレゼンテーションでは、セットアップについて詳しく説明します。

Magento with Composer-Marcel Hauri-Meet Magento CH 2014(ビデオ、21分)


とても良い答えです!
David Gulbrandsen、2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.