WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur ser ert "workflow" ut? (https://www.wn.se/forum/showthread.php?t=1048154)

Linuus 2011-05-12 17:28

Hur ser ert "workflow" ut?
 
Tjena!

Jag undrar lite hur ni andra jobbar med era projekt, hur ni organiserar det hela, deployment osv. (Jag utvecklar i PHP)

Säg att ni ska utveckla en site i ett CMS som t.ex. Joomla! Jag antar att de flesta kör upp en local XAMPP/WAMPP server på datorn och utvecklar hela kalaset där samt slänger in det hela i GIT/SVN.

- Vart hostar ni era projekt (om ni gör det externt)?

- Använder ni sedan en IDE (t.ex. Aptana Studio/Eclipse) eller kör ni något enklare som t.ex. Textmate/Coda/Espresso? (Jag kör endast Mac så har bara erfarenhet av just Mac-program :) )

- Hur gör ni för att sedan köra in allt på själva servern? Drar ni bara ner alla filer från GIT/SVN och fixar databasen manuellt?
- Hur gör ni vid uppdateringar? Samma som ovan?


- Gör ni något annorlunda om ni inte skulle använda ett CMS eller ser det likadant ut?


Är bara lite nyfiken på vilka smidiga lösningar som används därute!

//Linus

iostream 2011-05-12 20:29

Först drar man upp en git repo lokalt på desktop, där man har apache/nginx installerat, och börjar koda.
När man har kodat färdigt något vettigt mergar man branchen till master/develop och pushar till en remote repo på en testserver.
Efter testning och allt är stabilt pushar man direkt upp till en annan repo på liveservern, och då är man all set.

Databasen kan man helt enkelt spara till fil med mysqldump och inkludera i sin commit.
Det går att förenkla ytterligare med olika commit- och update-hooks i Git och dylikt.

Dessa workflows är samma oavsett vilket CMS eller något man kör, eftersom det i grunden bara är massa programkod.

Magnus_A 2011-05-12 21:18

En wiki med riktlinjer för hur det ska se ut och funktioner, fungerar även som enklare bugghanterare och projekt management.

Clarence 2011-05-13 00:00

Har precis satt upp en byggserver för php med phpundercontrol och måste säga att det är underbart smidigt och funktionellt. Bara tittat på det tidigare och inte orkat grotta ner mig i det.

Utvecklar lokalt, vid varje commit mot utvecklingsbranchen körs alla tester osv i phpundercontrol på servern. Med ccmenu (meny-rads-status för cruisecontrol) får jag därmed direkt en varning om ett test resulterat i ett fel - utan att göra mer än den vanliga commiten.

För att lansera mergar jag till en produktions-branch och går alla tester igenom där också (de har redan körts från utvecklings-branchen i samma miljö) så publiceras det automatiskt till produktionsmiljön så fort phpundercontrol ser att det kommit uppdaterade filer i versionshanteringen.

Använder MAMP med lite extra php extensions, mongodb server och memcache server lokalt. Netbeans har jag nyligen fallit för gällande editor. Det allra mesta funkar alldeles utmärkt men phpunit-integrationen har jag inte fått att lira med bootstrap-fil ännu, men det kanske går på något vänster.

Det finns även enklare do-it-yourself system där nog capistrano är det mest omnämnda. Men för att få liknande funktionalitet där får du pilla en hel del själv.

pelmered 2011-05-13 01:14

Jag utvecklar i stort sett alltid direkt mot en remote server(VPS). Jag kör NetBeans och använder remote project så att filerna automatiskt laddas upp på servern när jag sparar. Därefter testar jag på servern. Jag tycker det är mycket enklare att testa så eftersom man då kan få in alla tillägg och annat som finns på servern(t.ex. memcached och diverse plugins till både php och webbserver). När jag är nöjd pushar jag över ändringarna till min produktionsserver med hjälp av rsync.

I tillägg använder jag dropbox för att synca projekten mellan de olika datorerna och det funkar perfekt. NetBeans känner av när filer ändras och filerna uppdateras och med bara någon sekunds fördröjning kommer ändringarna upp direkt i editorn på andra datorer där de är öppna. Detta gör också att man bara kan slänga in saker i de lokala filerna så laddas de upp automatiskt av NetBeans. Riktigt nice!

En rätt simpel lösning men den fungerar perfekt för mig.
Det enda som ibland kan vara lite jobbigt är väl att NetBeans lösning för att ladda upp filerna är lite seg då den kopplar ned mellan varje uppladdning och kopplar upp igen för nästa fil. På långsammare uppkopplingar(3G) tar det ibland ett par sekunder tills allt är uppladdat till servern så man kan testa. Förhoppningsvis kommer detta optimeras i den kommande versionen av NetBeans. Det finns en ticket för detta och utvecklarna har sagt att detta är något som kommer troligen fixas i någon av de kommande versionerna.

KarlRoos 2011-05-13 01:16

Git med push från lokala kopian och pull på staging, funkar det blir det pull på production. Håller isär production, staging och developmentkonfigurationerna där staging och production har samma konfiguration förutom databas.

Sedan kör man såklart ett privat GitHub repo där man har både wiki och issue-hantering. XAMPP och MNPP lokalt på Macen för test med både Apache och Nginx.

All kod skrivs i det underbara Coda!


Alla tider är GMT +2. Klockan är nu 19:34.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson