Swimburger

YFU Internship: Rails Deployment

- College -

Nu dat de Photouploader klaar is voor zijn beta test was het mijn taak om te onderzoeken hoe je Rails applicatie kan deployen naar een webserver. Hiervoor heb ik van start tot deployment documenten opgesteld zodat mijn collega's dit ook kunnen uitvoeren wanneer ik niet meer bij hun werk. Ik heb over het volgende handleidingen geschreven:

  • Testomgeving in VirtualBox + netwerken met VB
  • installatie van een linux server
  • opzetten van een web server
  • multi-environment rails tool met RVM of Rbenv
  • Passenger plugin die ruby mogelijk maakt op Apache
  • Virtual Hosting met Apache

Dit onderzoek nam redelijk wat tijd in beslag door de vele verschillende tutorials online. Geen enkel dacht verder om ook virtual hosting toe te passen en meerdere gebruikers met Ruby te ondersteunen. Door de verschillende tutorials en de officiele documentatie van de verschillende componenten te lezen ben ik uiteindelijk tot een goeie oplossing gekomen. De Ruby omgeving manager wordt voor elke linux gebruiker toegankelijk gemaakt. Zo kan elke gebruiker zelf kiezen welk Ruby en Rails versie ze willen gebruiken. Met 'gemsets' worden alle packages in een afgezonderd container gehouden zodat verschillende gebruikers geen conflicterende packages hebben. Het is de bedoeling dat elke gebruiker zijn eigen app heeft als home-folder. Dit is een veiligheidsmaatregel zodat gebruikers enkel hun eigen app kunnen wijzigen (via ftp of ssh). De volgende stap zou een 'automated git deployment system' zijn. Voor Ruby zouden we wellicht Capistrano gebruiken. Met zo een systeem wordt automatisch de laatste versie (Master repository) van Git afgehaald op de server. Na het onderzoek heb ik samen met mijn collega door de stappen gelopen zodat ze ook mijn gedachten process mee kon volgen. We hebben succesvol een webserver opgezet op een virtuele machine (met VMware) op een server in Duitsland die meerdere Ruby on Rails applicaties aanbiedt op basis van Virtual Hosting. Mijn collega's waren hier enorm tevreden over omdat dit een hekel punt was voor hun. Nu is de POI en Photouploader live. De Photouploader der is momenteel in beta en wordt getest door meerdere collega's internationaal terwijl ik met andere projecten bezig ben. Eenmaal die projecten af zijn focus ik me op alle feature requests en bugs die gemeld zijn voor de Photouploader. Eenmaal de test fase over is, wordt deze gelanceerd en misschien ook open-source gepubliceerd op GitHub. Momenteel ben ik bezig met het rebranden/stylen, updaten en bugfixen van het trainingsplatform dat Jakob vorig jaar heeft gebouwd. Op dit platform kan je inloggen, trainingen zien waarvoor je je dan kan aanmelden. Je kan heel wat details lezen van de trainingen en bijlagen downloaden.

Related Posts

Related Posts