Visa ett inlägg
Oläst 2010-06-15, 14:34 #4
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
Att bygga rpm:er eller liknande är bra och jag känner till en del stora svenska webbplatser som gör så. Det är en bra metod och i byggskript som skapar rpm:er kan man ju ta med ihopslagning av css-filer, js-filer och andra åtgärder. Kanske t o m enhetstester och generering av dokumentation via phpdocumentor (eller motsvarande) går via den här vägen. Man kan använda rena bashscript, make eller andra produkter för detta. Fördelen är att man kan uppnå en bättre abstraktion mellan utveckling, test och produktion. Nackdelen är väl kanske att allt jobb med att sätta upp en sån här miljö, och att man ofta måste köra byggscript även i utvecklingsmiljöer för att se ändringar man håller på med, inte alltid är befogat för mindre projekt. För kompilerade språk är ju en del av det här dock nödvändigt. För stora projekt/projektgrupper är det ju också super att kunna skicka iväg installationsfiler till den som jobbar med servermiljön.

För riktigt stora projekt där man har bra enhetstester (och/eller automatiserade gui-tester) kan man ju köra byggscripten och testerna på natten för att på morgonen få bra rapporter över hela projektets status. Det finns ju faktiskt de som har automatisk release om inga fel eller varningar upptäcks. Det är ganska häftigt och ställer krav på bra heltäckande tester.

För många räcker det ju med att köra en export från ett lösenordsskyddat repository. Jag tycker definitivt inte att det är en bra idé att ha ett levande cvs/svn/etc-träd som kan uppdateras i produktion. Det skapas ju ofta diverse filer som inte bör finnas på en publik webbserver. Man bör ju skapa en branch/tag/edy för varje release om det man håller på med kan påverka kunder etc.

För databasen finns ju flera sätt att hålla reda på vad man gjort för ändringar. Den vanligaste är väl manuella metoden(!). Ofta även när man är så avancerad som ovan. Men det finns ju bra verktyg. T ex finns ju MySQL Workbench gratis för MySQL-användare. Den kan användas för att ta fram diffar och även propagera ändringar i databasmodeller mellan olika servrar eller till/från en ER-modell.

Sedan kan det ju också finnas tillfällen när man måste köra konverteringar. Man kanske ändrar i indexeringen av dokument, storlek på uppladdade bilder eller vilken data som ska lagras duplicerat i en databas för att förbättra prestanda osv. Då måste man ju ofta skapa speciella releasescript enkom för det oavsett ovan metoder.

Jag har varit med i projekt där alla ovan metoder används.

(Och ja - jag har även varit med i projekt där man ändrar, skjuter upp via ftp direkt till produktion och laddar om sidor och hoppas på det bästa...)

Senast redigerad av dotvoid den 2010-06-15 klockan 14:35 Anledning: rättat förkortning
dotvoid är inte uppkopplad   Svara med citatSvara med citat