Infrastructure/fr

Cette page est conçue pour garder une trace de l'infrastructure actuelle du projet OpenSim. Si vous avez des questions ou des suggestions, veuillez utiliser la page de discussion.

= Infrastructure actuelle =

Wiki
Le wiki est actuellement à la version Mediawiki 1.19.9. Mediawiki doit être maintenu à jour, recherchez les mises à jour de sécurité une fois par mois environ.

Recherche du Wiki
La recherche sur le wiki est assurée par MWSearch, qui nécessite l'exécution d'un processus Lucene distinct. Lucene est un programme java qui génère un moteur de recherche en texte intégral pour un ensemble de données. Il le fait pour media wiki en faisant des dumps de la base de données sur une base périodique. MWSearch est instable et doit parfois être désactivé et redémarré.

MWSearch se trouve dans /var/www/lucene-search-2.1. Vous devez actuellement exécuter régulièrement ./build à cet endroit car l'extension OAI n'est pas encore correctement configurée pour effectuer des mises à jour incrémentielles.

Mantis
Mantis,traqueur de bogues d'OpenSimulator

Nous utilisons actuellement une version patchée de mantis 1.1.1. Des patches ont été appliqués pour ajouter des champs supplémentaires pour le flux de corrections (les états verts), et pour écrire dans un pipe nommé dans /var/run/mantis/mantis-notify des informations sur les corrections de bogues. Ce pipe nommé est lu par le robot de mantis.

Mantis n'a pas été mis à jour depuis un certain temps parce que la version 1.2.x semble se profiler à l'horizon, et il serait préférable de la mettre à jour si possible.

Bot osmantis
Ceci est un morceau de code Perl bricolé rapidement par Sean Dague, basé sur un exemple de robot IRC Perl utilisant le framework POE. Il surveille le flux RSS de panda pour les résultats de compilation, et le pipe nommé pour les changements dans mantis reformate les messages et les renvoie sur IRC. Bien qu'il ne soit pas élégant, il fait le travail. Le code source de ce programme se trouve à l'adresse http://github.com/sdague/osmantis/tree/master (lien cassé). Il doit être exécuté à l'intérieur d'une session screen et ne se reconnecte pas en cas de perte de connexion avec le serveur IRC.

Mailing Lists

 * opensim-users - Pour les utilisateurs d'OpenSimulator.
 * opensim-dev - Pour les développeurs d'OpenSimulator.

Gestion des sources
Parcourir les dépôts Git d'OpenSimulator

Voir Dépôt de code source Git pour plus de détails sur le clonage.

git
Le dépôt git pour OpenSim est dans /var/git/OpenSim. Il a été initialisé avec --shared=group qui conserve les droits d'écriture du groupe. Le groupe OpenSim-svn est le groupe de partage en écriture pour ce dépôt.

git:// Les URLs sont servis par le paquet git-daemon sur Debian, qui est exécuté dans le cadre du processus d'init.

git emails
Les emails de commit sont envoyés via le hook post-receive (.git/hooks/post-receive) en utilisant le script post-receive-email. Quelques manipulations de références sont nécessaires pour supporter à la fois l'email et ciabot.

git à cia bot
En utilisant le hook post-receive, chaque commit est poussé vers le ciabot en utilisant .git/hooks/ciabot.pl. Ceci utilise l'interface xml-rpc pour cia.

mirroring to github
OpenSimulator Miroir de Github

L'identifiant opensim-mirror est utilisé pour mettre en miroir le dépôt git d'OpenSim sur GitHub toutes les 10 minutes. Ceci est unidirectionnel et fait sous cron.

Test unitaire
Tableau de bord Jenkin d'OpenSimulator

Les résultats des tests Jenkins sont annoncés sur le canal IRC #opensim-dev.

À l'origine, les compilations test étaient effectuées sur Bamboo. Puis Bamoboo a été remplacé par Panda, un outil de test unitaire personnalisé développé par Sean Dague spécifiquement pour OpenSimulator. Aujourd'hui, OpenSimulator a abandonné Panda et utilise Jenkins pour les constructions de tests. Plus de détails peuvent être trouvés sur la page Jenkins.

viewgit
Viewgit est configuré dans /var/www/opensimulator.org/viewgit, et fournit un accès web au dépôt git.

miroir de suivi svn
L'id OpenSim-mirror utilise également un script très grossier pour tenter de créer un miroir svn du repo git. C'est un programme assez sujet aux erreurs, car svn semble aimer supprimer les permissions sur les exécutables. Espérons qu'il sera finalement abandonné.

Sauvegardes
C'est un processus en deux étapes :
 * Un cronjob nocturne qui sauvegarde les bases de données mysql dans /var/dbbackups.
 * Un processus backuppc qui tourne chez Sean Dague, qui se connecte toutes les nuits et qui sauvegarde
 * /home
 * /etc
 * /var/www
 * /var/svn
 * /var/dbbackups

Backuppc fait des sauvegardes échelonnées, nous avons donc des sauvegardes quotidiennes pour une semaine, hebdomadaires pour un mois, mensuelles pour 4 mois, et tous les 4 mois pour 16 mois. Après les pertes de données sur la boîte précédente, de bonnes sauvegardes étaient indispensables.

= Todo =


 * Mise à jour de Mediawiki (NDLR : et passer en protocole https non ?)
 * Trouver une nouvelle solution de sauvegarde
 * Mise à niveau de mantis vers la dernière version stable