03-05-2010, 02:12 AM
Bonjour à tous,
Récemment des amis qui travaillent sur un jeu en ligne m'ont contacté pour savoir ce que je pensais bon de faire pour déployer une application.
Ils m'ont demandé çà car leur jeu avance pas mal, ils en sont désormais à une phase ou il vont devoir déployer régulièrement le jeu sur un serveur test, puis un serveur prod.
Actuellement ils travaillent tous en local via un dépot subversion que je leur fournis.
Moi même j'ai une dizaine de siteweb, certains notamment sont basé sur MultiMorph mon CMS. Et j'avoue que quand je fais une mise à jour j'aurais bien besoin d'un système avec un simple bouton sur le panel admin du site pour mettre à jour quand une nouvelle version de MultiMoprh est prêtes.
Donc suite à ce mail j'ai imaginé un système capable de gérer ces problématiques et notamment de prendre directement la maj depuis le svn. Et çà grâce à ssh ou au module subversion de php, le tout avec une convention dans mon dossier tag pour savoir quel est la dernière version et son stade (alpha, beta, prod), et des fichiers dans chaque version permettant l'upgrade depuis la version précédente ou le downgrade depuis la version suivante.
Mais avant de le coder je me suis dit que çà devait exister, j'ai donc cherché...
Je n'ai rien trouvé qui me satisfait totalement, j'ai notamment été voir du coté de symfony avec sa commande project:deploy, en fait c'est un rsync amélioré.
Je me suis aussi penché sur pear, car le système que j'avais imaginé était un système ressemblant au packet débian de linux. Et pear fait un peu la même chose... Je trouve cependant que pear nécessite beaucoup de fichier, j'ai bien pensé à pyrus et SimpleChannelServer qui serait une solution mais je ne suis pas pleinement satisfait, car je ne suis pas sur qu'il soit aisé de lié svn et le simplechannelserver.
Cette problématique est importante à mes yeux car dans la maintenance d'un jeu il est très important de ne pas développer en live sur le jeu, si vous le faite comme je l'ai fait pour mon jeu Ragol, vous verrai qu'à force vous ferrez des erreurs d'inattention, et vous obtiendrez une réputation de jeu boggué!
Donc je viens à la pèche aux infos:
Comment gérer vous cette problématique?
Quel procédure mettez vous en place pour valider un ajout de fonctionnalité et en arriver à la produire?
Comment gérer vous votre dossier tag svn?
Votre système vous permet t'il de mettre à jour en sautant des versions?
Comment gérer vous la problématique de la maj bdd, cache et autorisation de dossier?
Est ce que j'oublie quelques choses d'important?
Quels sont vos idées d'amélioration?
Récemment des amis qui travaillent sur un jeu en ligne m'ont contacté pour savoir ce que je pensais bon de faire pour déployer une application.
Ils m'ont demandé çà car leur jeu avance pas mal, ils en sont désormais à une phase ou il vont devoir déployer régulièrement le jeu sur un serveur test, puis un serveur prod.
Actuellement ils travaillent tous en local via un dépot subversion que je leur fournis.
Moi même j'ai une dizaine de siteweb, certains notamment sont basé sur MultiMorph mon CMS. Et j'avoue que quand je fais une mise à jour j'aurais bien besoin d'un système avec un simple bouton sur le panel admin du site pour mettre à jour quand une nouvelle version de MultiMoprh est prêtes.
Donc suite à ce mail j'ai imaginé un système capable de gérer ces problématiques et notamment de prendre directement la maj depuis le svn. Et çà grâce à ssh ou au module subversion de php, le tout avec une convention dans mon dossier tag pour savoir quel est la dernière version et son stade (alpha, beta, prod), et des fichiers dans chaque version permettant l'upgrade depuis la version précédente ou le downgrade depuis la version suivante.
Mais avant de le coder je me suis dit que çà devait exister, j'ai donc cherché...
Je n'ai rien trouvé qui me satisfait totalement, j'ai notamment été voir du coté de symfony avec sa commande project:deploy, en fait c'est un rsync amélioré.
Je me suis aussi penché sur pear, car le système que j'avais imaginé était un système ressemblant au packet débian de linux. Et pear fait un peu la même chose... Je trouve cependant que pear nécessite beaucoup de fichier, j'ai bien pensé à pyrus et SimpleChannelServer qui serait une solution mais je ne suis pas pleinement satisfait, car je ne suis pas sur qu'il soit aisé de lié svn et le simplechannelserver.
Cette problématique est importante à mes yeux car dans la maintenance d'un jeu il est très important de ne pas développer en live sur le jeu, si vous le faite comme je l'ai fait pour mon jeu Ragol, vous verrai qu'à force vous ferrez des erreurs d'inattention, et vous obtiendrez une réputation de jeu boggué!
Donc je viens à la pèche aux infos:
Comment gérer vous cette problématique?
Quel procédure mettez vous en place pour valider un ajout de fonctionnalité et en arriver à la produire?
Comment gérer vous votre dossier tag svn?
Votre système vous permet t'il de mettre à jour en sautant des versions?
Comment gérer vous la problématique de la maj bdd, cache et autorisation de dossier?
Est ce que j'oublie quelques choses d'important?
Quels sont vos idées d'amélioration?