La configuration d'un magasin Magento ne consiste pas uniquement à développer des extensions auto-installables, elle nécessite également de nombreuses opérations de "saisie manuelle", telles que la création d'attributs d'édition finale, de catégories, de produits, de règles de tarification, de pages CMS, etc. les modifications apportées à la configuration du système.
J'aimerais que votre aide définisse la meilleure stratégie à adopter pour déployer une boutique Magento du développement à l'environnement de stockage et de production.
Une de mes stratégies consiste à écrire un "module de déploiement" qui crée par programme les entités mentionnées ci-dessus, mais c’est une tâche très fastidieuse et qui me semble parfois un peu exagérée.
Récemment, j'ai commencé à utiliser Selenium IDE pour reproduire des tâches d'administration, mais le temps requis pour configurer toutes les suites de tests n'est pas très éloigné de celui mentionné ci-dessus.
Une solution optimale pourrait peut-être être l’utilisation d’un module capable de réaliser une capture instantanée d’un système Magento vous permettant de choisir le type de déploiement à déployer.
Alors:
- Quelle est votre stratégie pour déployer?
- Existe-t-il un module capable de réaliser une capture instantanée d’un système Magento vous permettant de choisir le type de déploiement à déployer?
- si un tel module n'existe pas et si un tel module constitue une solution raisonnable, y a-t-il quelqu'un qui souhaite contribuer à le développer?
Je vous remercie!
Réponses:
Mon opinion est de tout scripter. J'ai généralement un module de configuration de base pour tout ce qui n'est pas directement lié à un module spécifique du point de vue fonctionnel. (exemple, création de réécritures d'URL personnalisées pour les URL de site précédentes dans les nouvelles URL de site) et ajout de tout élément lié à un module dans ses propres scripts d'installation.
L’état d’esprit derrière cela est que si le site doit être réinstallé, en utilisant une nouvelle base de données, tout revient comme vous l’aviez précédemment. Cela aide également dans le fait que je mets à jour périodiquement le site uat avec une copie de la base de données en direct. Les modules dans uat continuent alors de fonctionner alors qu’ils reprennent leur configuration.
Les modifications apportées aux tarifs d'affranchissement, aux règles de panier, etc. Cela inclut les données du produit. Le client a le choix et est encouragé à tester d’abord les nouvelles importations sur le site uat.
Les clients ne doivent pas créer d'attributs, mais les faire créer via une demande de ticket. Cela me permet également de collecter des informations sur l’intention du client pour l’attribut. Parfois, j’ai une meilleure suggestion à faire, ou je peux créer un meilleur code, car j’ai un descripteur des attributs existants, ainsi que des attributs sélectionnables, afin d’assurer la confidentialité des données. nettoyer.
Oui, les scripts prennent plus de temps, mais il faudra beaucoup plus de temps pour recréer manuellement plus tard les paramètres de configuration de sites entiers. Cela peut également être embarrassant si vous oubliez quelque chose et si vous faites en sorte que le site ne fonctionne pas correctement, ou si vous avez un nouveau développeur qui travaille sur un site local et qui manque d’une configuration cruciale de configuration.
la source
J'avais fait des recherches plusieurs mois auparavant. Voici les sites que vous pouvez consulter.
URL de base Magento et installations dedéveloppement
/ stagingMagento Développement et déploiement deMagento Guide Git de Magento et
déroulement des opérations Dumping plus rapide d'une base de données Magento MySQL pour le branchement
la source
Je voudrais tous vous remercier car vos considérations m'ont inspiré et poussé à développer une extension appelée "Mageploy" dans le but de résoudre le problème de la synchronisation des différents environnements.
http://www.mageploy.com
Mageploy doit encore être étendu, bien documenté et entièrement testé, même si je l’utilise déjà dans quelques projets présentant certains avantages.
C'est open source et toute aide ou suggestion sera appréciée.
Cordialement
la source
En ce qui concerne l'installation de scripts et la création d'entités, mon sentiment général est que, s'il est requis ou attendu par un module, il devrait être créé dans le cadre d'un script d'installation.
Récemment, en termes de développement / stade / production, nous utilisons le site de transfert en tant que copie maîtresse de la base de données pour le contenu, car cela signifie que le client peut collaborer. Dans le passé, le problème le plus important que nous ayons rencontré est probablement la coordination de la saisie du contenu avec le client, en particulier en ce qui concerne le téléchargement de produits.
Comment pensiez-vous que l'instantané fonctionnerait? Je pense que dans un monde idéal, vous auriez un outil qui montrerait la différence entre deux bases de données sur des types particuliers (produits, catégories, CMS, etc.) et vous permettrait de fusionner les modifications mais je ne suis au courant de rien de tel que cette.
la source
À mon avis, créer et éditer des attributs, des catégories, des produits, des règles de prix n’ont rien à voir avec une "stratégie de déploiement". Tous ces articles sont assez spécifiques à un magasin et exigent dans la plupart des cas une analyse et une recherche appropriées des produits que vous vont vendre.
Si vous créez des magasins "one size fits all" avec une configuration similaire de tous les éléments que vous avez mentionnés, vous pouvez simplement exporter votre "base de données" après avoir effectué toute la configuration requise pour chaque magasin.
la source
J'aimerais ajouter deux excellents outils permettant de gagner du temps:
la source