WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:adh5:developpement

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:adh5:developpement [2014/11/09 23:55]
Thithib [Déployer]
wiki:services:adh5:developpement [2015/08/28 11:54] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Développement d'ADH5 ======
 +
 +==== Tests ====
 +
 +Il faut **absolument** lancer les tests en local avant de push vos commits sur la branche master. Pour cela, il suffit de lancer les tests depuis le script scripts/​test.sh à la racine du projet.
 +Tout push (changement de release sur le dépôt git) entraîne la construction de la pipeline dev (nouvelle version d'​ADH5-dev).
 +
 +==== Rspec =====
 +
 +Rspec permet de définir des tests unitaires.
 +
 +Les fichiers utilisés par rspec sont dans le répertoire frontend/​spec.
 +Les tests présents actuellement ne sont pas suffisants, il faudrait en écrire d'​autres.
 +
 +==== Cucumber ====
 +
 +Cucumber permet de définir des tests de comportement,​ comprendre comportement d'un utilisateur sur le site.
 +
 +Les fichiers utilisés par cucumber sont dans le répertoire frontend/​features
 +
 +L'​exemple ci-dessous est plutôt explicite.
 +
 +
 +Scénario: L'​adhérent quitte sa chambre
 +    Soit un utilisateur ayant les droits 1337
 +    Soit le vlan dual stack 41 avec les adresses IPv4 157.159.41.0/​24 et les adresses IPv6 2001:​660:​3203:​430::/​64
 +    Soit un adhérent ayant la chambre 1005 dans le vlan 41
 +      Et une date de départ dans 1 an
 +      Et un ordinateur avec pour mac 00-11-22-33-44-55
 +        Et pour ipv4 157.159.41.10
 +        Et pour ipv6 2001:​660:​3203:​430::​a10
 +    Quand l'​utilisateur s'​identifie
 +      Et entre le login de l'​adhérent
 +      Et clique sur Rechercher
 +      Et clique sur Aucune chambre
 +    Alors il voit une ligne avec 00-11-22-33-44-55 En attente En attente
 +      Et il voit une ligne avec Changement de chambre 1005 vers aucune
 +
 +
 +Pour comprendre ce fichier, cucumber a besoin de //steps// qui permettent de programmer les différentes actions. Les //steps// permettent grâce à l'​écriture de REGEX d'​appeler des méthodes sur des objets définis avec des mots en français.
 +
 +Vous pouvez accéder à ADH5-dev (derrière le vpn) à l'​adresse suivante : [[http://​adh5-dev.minet.net:​8080/​|ADH5-dev]].
 +Il faut tester toutes les nouvelles fonctionnalités dans cet environnement avant de déployer en production.
 +
 +==== Git ====
 +
 +La branche master est la branche de développement,​ elle correspond à la version d'​ADH5-dev.
 +
 +Pour passer tous les commits en développement vers la production, il faut juste bouger le pointeur de production vers master. Ce n'est pas un merge !
 +    ​
 +    git branch -f production master
 +
 +Puis pusher votre branche production sur origin/​production
 +
 +==== Déployer ====
 +
 +Le déploiement se fait via Jenkins, accessible (derrière le VPN) [[http://​ci.minet.net:​8080|ici]].
 +Il y a deux pipelines regroupant chacune une série de tasks, une pour la dev et une pour la prod. La pipeline dev s'​enclenche automatiquement lors de changements de version suite à un push de votre branche master sur origin/​master.
 +
 +Contrairement au déploiement d'​ADH5-dev,​ le déploiement en production se fait manuellement,​ souvent pendant une maintenance (car cela entraîne une coupure des services dépendant d'ADH5 : Radius, DHCP, etc).
 +
 +
 +En cas de problèmes, penser à consulter la [[wiki:/​services/​adh5/​deployer|FAQ]] et à la compléter.
 +==== Mettre à jour les fabricants de cartes réseau (Apple) ====
 +
 +  $ wget https://​raw.github.com/​inetlms/​lms/​master/​lib/​ethercodes.txt
 +  $ grep "​Apple"​ ethercodes.txt | sed '​s/:/,/'​ > /​frontend/​db/​vendors.txt
 +
  
wiki/services/adh5/developpement.txt · Dernière modification: 2015/08/28 11:54 (modification externe)