Salut à vous,
Depuis environ 2 ans maintenant, j’autohéberge et développe le site d’un club sportif dont je suis membre. L’idée de ce topic est que vous puissiez me partager vos expériences au niveau de la gestion des tests et de la mise en production.
Voici actuellement ma configuration : le serveur tourne sur un Raspberry connecté à ma Freebox, sur lequel est installé ArchLinux ARM. Le site est écrit en Python avec Django en framework. Toute requête http entrante est redirigée vers mon raspberry, sur lequel nginx écoute le port 80. Il sert les fichiers statiques, et transmets à un processus gunicorn pour le reste. Jusque là tout va bien…
Seulement, ma question concerne la gestion du développement. En effet, jusqu'à présent le site a très peu évolué. Récemment, j’ai voulu réécrire le système d’inscription en ligne à un tournoi, et je l'ai fait depuis mon PC portable, qui tourne sur Fedora (et django 1.6 alors que sur le raspberry, c’est django 1.9), puis une fois que j’avais bien testé, j’ai tout transféré sur le serveur en prod, moyennant quelques ajustements. Bref, vous l'avez compris, je suis un sys admin de merde, tout ça c’est bancal, et voilà pourquoi je viens sur ce forum !
Je me suis dit qu’il fallait que je me replonge plus sérieusement sur Git en travaillant avec deux branches. L’idée, c’est que je puisse travailler sur le Raspberry tout le temps, même lorsque je veux faire du dev.
Du coup, je me suis dit que ce qui serait cool, c’est de faire tourner un processus gunicorn pour la branche master pour le serveur prod, auquel on passe les requêtes nginx, et un manage.py runserver
interne à la machine pour ma version de développement. Seulement, petit problème : comment faire pour que j’ai un processus gunicorn qui soit la version de la branche master, alors que je vais lancer un git checkout dev ?
J’attends vos remarques sur ma solution, et pourquoi pas de meilleures idées de gestion de mon site !
Merci !