Forside  >  Adapt Blog  > 

DrupalCon: Deployment og udviklingsmetoder

Mikkel Jacobsen, Systemudvikler

05
sep 2011

Dette blogindlæg vil for nogen være af meget teknisk karakter, men efter min deltagelse i DrupalCon, har jeg lyst til at dele mine tanker og iagtagelser vedr. deployment og udviklingsmetoder på Drupal platformen.

Deployment på Drupal

Efter at have hørt en række af foredrag på DrupalCon om deployment staging af nye features, er jeg ikke overrasket over at:

  • Alles hovedproblem, i forbindelse med at rykke ændringer til produktionsmiljøet i Drupal, i 6 ud af 7 gange skyldes manglen på opdeling af indhold og konfiguration.
  • Der kke findes én magisk løsning på problemet, men at der bliver brugt en række af værktøjer for at omgå problemet.

Gode nyheder med Drupal 8

En god nyhed er, at det er et af hovedpunkterne i udviklingen af Drupal 8. Her forsøger man at få en uniform model på, hvordan konfigurationsdata bliver gemt og implementeret i både core og contrib moduler.

En overbygning af deployment redskaber

De fleste snakker også om en overbygning af deployment redskaber i form a build scripts og CI ( continous integration). Det betyder, at en “læg live” proces bliver gennemført som en suite af tasks eller scripts, der bliver udført i rækkefølge og er afhængige af hinanden for at kunne fuldføre hele deployment’et. Hvis processen fejler, på et hvilket som helst sted i kæden, kan systemet automatisk lave et roll-back af både kode, konfiguration og db ændringer til, hvordan det var før.

Andre spændende vinkler

En anden spændende vinkel er brugen af make-filer, installation af profiles og features til at lave distrubutioner af sider. Lig traditionel software udvikling kan man på den måde “pakke” Drupal løsninger og laver releases med versionsnumre.

Udviklingsmetoder

Jeg blev også klogere omkring udviklingsmetoderne på Drupal platformen. Her er det essentielt, at alle parter i udviklingsteamet har separate workspaces. En fordragsholder snakkede om, at de udviklede deres egne rpm’s med f.eks. LAMP stack og drush, så de sikrede sig at de:

  • hurtigt kunne få nye i teamet op at køre
  • kunne være sikre på, at alle havde fuldstændig det samme udviklingsmiljø, hvor end de arbejdede

Mit overordnede indtryk i forhold til udviklingssetup er, at folk har deres udviklings-workspaces lokalt.

Drupal 7

En ting der er virkelig spændende ved Drupal 7 er et slags paradigmeskifte i datamodellen fra Drupal 6 med nodes til entities i Drupal, hvor alt indhold kan defineres i entities - både nodes, userobjekter, comments og custom data. I forhold til normalisering af data har det været begænset hvad du har kunne gøre i Drupal 6. Med brugen af entities i Drupal 7 og modulet: “Relation” giver det helt nye muligheder i forhold til relationer mellem data, der før var begrænset til cck nodereferences og taxonomy i Drupal 6.

Tags: DrupalCon Drupal Web udvikling Teknik

Kommentarer

Nyt indlæg