Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Magento Projekte mit Composer aufsetzen und verteilen

Magento Projekte mit Composer aufsetzen und verteilen

Präsentation zum Magento Stammtisch vom 10. März 2015 in Bern

Marcel Hauri

March 10, 2015
Tweet

More Decks by Marcel Hauri

Other Decks in Programming

Transcript

  1. Ausgangslage • Verschiedene Deployment Strategien
 Composer, Chopin (wtf?), Modman, n98-magerun,

    FTP etc. • Aufwändiges Projektsetup • Aufwendige Dokumentation nötig
  2. Ziele • Setup und Deployment einfach halten • Magento Source

    und Extensions getrennt installieren • Flexible Deployment Strategie
  3. {
 "minimum-stability":"dev",
 "repositories": [
 {
 "type": "composer",
 "url": "http://packages.firegento.com"
 },


    {
 "type": "package",
 "package": {
 "name": "magento/ce",
 "version": "1.9.0.1",
 "type": "magento-source",
 "dist": {
 "url": "http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz",
 "type": "tar"
 }
 }
 }
 ],
 "extra": {
 "installer-paths": {
 "htdocs": ["type:magento-source"],
 "htdocs/.modman/{$name}/": ["type:magento-module"]
 }
 },
 "require": {
 "aoepeople/composer-installers": "0.0.1",
 "magento/ce": "1.9.0.1",
 "staempfli/product-attachment": "1.0.1"
 },
 "scripts": {
 "post-install-cmd": [
 " cd htdocs/ && modman deploy-all"
 ],
 "post-update-cmd": [
 " cd htdocs/ && modman deploy-all"
 ]
 }
 }
  4. {
 "type": "package",
 "package": {
 "name": "magento/ce",
 "version": "1.9.0.1",
 "type":

    "magento-source",
 "dist": {
 "url": "http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz",
 "type": "tar"
 }
 }
 }
 Magento Source
  5. "scripts": {
 "post-install-cmd": [
 "cd htdocs/ && modman deploy-all"
 ],


    "post-update-cmd": [
 "cd htdocs/ && modman deploy-all"
 ]
 }
 Flexible Deployment Strategie
  6. {
 "minimum-stability":"dev",
 "repositories": [
 {
 "type": "composer",
 "url": "http://packages.firegento.com"
 },


    {
 "type": "package",
 "package": {
 "name": "magento/ce",
 "version": "1.9.0.1",
 "type": "magento-source",
 "dist": {
 "url": "http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz",
 "type": "tar"
 }
 }
 }
 ],
 "extra": {
 "installer-paths": {
 "htdocs": ["type:magento-source"],
 "htdocs/.modman/{$name}/": ["type:magento-module"]
 }
 },
 "require": {
 "aoepeople/composer-installers": "0.0.1",
 "magento/ce": "1.9.0.1",
 "staempfli/product-attachment": "1.0.1"
 },
 "scripts": {
 "post-install-cmd": [
 "cd htdocs/ && modman deploy-all"
 ],
 "post-update-cmd": [
 "cd htdocs/ && modman deploy-all"
 ]
 }
 }
  7. ✓ Schnelles Projekt Setup und Deployment ✓ Magento Source direkt

    von Magento ✓ Nur wenig Dokumentation nötig, da Setup vereinheitlicht und für alle Projekte gleich ✓ Einfache Versionsverwaltung einzelner Pakete Vorteile
  8. - Extensions in .modman/ Verzeichnis werden nicht automatisch in der

    Versionskontrolle von PhpStorm erkannt. Nachteile
  9. composer install Dadurch wird sichergestellt, das die gleichen Abhängigkeiten in

    der Produktion wie in der Entwicklung eingesetzt werden. Deployment Composer prüft keine Abhängigkeiten und macht keine Version Lookups, dadurch sehr schnell.