Hoi allen,
wij zijn momenteel in ons bedrijf een aantal zaken aan het herzien/professionaliseren. Een belangrijk deel daarvan is het uitrollen van een update van onze applicatie.
Huidige situatie:
- ontwikkeling vind plaats op een lokale pc met ASP.NET development server
- een webserver als testomgeving en een andere webserver voor productie
- een SQL server voor development en een SQL server waar zowel de test- als productie database op draaien
Na een release naar onze testomgeving gaat onze tester alles na. Als blijkt dat alles goedgekeurd is, vind er een live (productie) release plaats.
Onze productie releases vinden plaats als volgt:
- app_offline.htm wordt ingeschakeld. Het is niet noodzakelijk dat onze applicatie 24/7 bereikbaar is. Uiteindelijk proberen we dit natuurlijk wel zoveel mogelijk.
- aantal scheduled tasks op de productie server worden uitgeschakeld.
- backup maken van productie omgeving (zowel webserver als database)
- productie database updaten middels APEX SQL Diff, gevolgd door eventuele query's uit te voeren voor het vullen van benodigde data.
- kopieren van de files voor de applicatie. Dit gebeurt nu handmatig.
- scheduled tasks op de productie server worden ingeschakeld.
- app_offline.htm uitschakelen
- applicatie testen (inmiddels zijn er ook weer eindgebruikers aan het inloggen).
Zoals jullie zien zijn dit redelijk wat stappen en is het op sommige punten fout/probleem gevoelig. Bijvoorbeeld dat de eindgebruikers al aan het inloggen zijn als wij nog aan het testen zijn. Ook het handmatig kopiëren van files is foutgevoelig. Zo kunnen er bestanden worden vergeten.
Dit willen wij anders gaan doen. Het moet zo zijn dat wij een update uit kunnen voeren met een of enkele klikken op een knop en klaar. Niks geen gedoe meer met het handmatig wijzigen van zaken.
Nu ben ik benieuwd hoe jullie productie releases uitvoeren en wat jullie als verbeteringen zien in onze aanpak. Een van de dingen die we zelf al opgesomd hebben, is het maken van batch files voor het kopiëren van de bestanden.
Maar hoe lossen we het probleem op met het testen van de productie release? Als daar problemen in zitten, hebben onze eindgebruikers daar ook last van. En hoe je het went of keert, het komt soms nou eenmaal in ons (soms) gek makende wereldje voor dat een test omgeving 100% goed werkt en het op productie het toch net even anders werkt.
Ik ben benieuwd naar de reacties. Alvast bedankt voor het lezen van deze lap tekst
wij zijn momenteel in ons bedrijf een aantal zaken aan het herzien/professionaliseren. Een belangrijk deel daarvan is het uitrollen van een update van onze applicatie.
Huidige situatie:
- ontwikkeling vind plaats op een lokale pc met ASP.NET development server
- een webserver als testomgeving en een andere webserver voor productie
- een SQL server voor development en een SQL server waar zowel de test- als productie database op draaien
Na een release naar onze testomgeving gaat onze tester alles na. Als blijkt dat alles goedgekeurd is, vind er een live (productie) release plaats.
Onze productie releases vinden plaats als volgt:
- app_offline.htm wordt ingeschakeld. Het is niet noodzakelijk dat onze applicatie 24/7 bereikbaar is. Uiteindelijk proberen we dit natuurlijk wel zoveel mogelijk.
- aantal scheduled tasks op de productie server worden uitgeschakeld.
- backup maken van productie omgeving (zowel webserver als database)
- productie database updaten middels APEX SQL Diff, gevolgd door eventuele query's uit te voeren voor het vullen van benodigde data.
- kopieren van de files voor de applicatie. Dit gebeurt nu handmatig.
- scheduled tasks op de productie server worden ingeschakeld.
- app_offline.htm uitschakelen
- applicatie testen (inmiddels zijn er ook weer eindgebruikers aan het inloggen).
Zoals jullie zien zijn dit redelijk wat stappen en is het op sommige punten fout/probleem gevoelig. Bijvoorbeeld dat de eindgebruikers al aan het inloggen zijn als wij nog aan het testen zijn. Ook het handmatig kopiëren van files is foutgevoelig. Zo kunnen er bestanden worden vergeten.
Dit willen wij anders gaan doen. Het moet zo zijn dat wij een update uit kunnen voeren met een of enkele klikken op een knop en klaar. Niks geen gedoe meer met het handmatig wijzigen van zaken.
Nu ben ik benieuwd hoe jullie productie releases uitvoeren en wat jullie als verbeteringen zien in onze aanpak. Een van de dingen die we zelf al opgesomd hebben, is het maken van batch files voor het kopiëren van de bestanden.
Maar hoe lossen we het probleem op met het testen van de productie release? Als daar problemen in zitten, hebben onze eindgebruikers daar ook last van. En hoe je het went of keert, het komt soms nou eenmaal in ons (soms) gek makende wereldje voor dat een test omgeving 100% goed werkt en het op productie het toch net even anders werkt.
Ik ben benieuwd naar de reacties. Alvast bedankt voor het lezen van deze lap tekst