1

Nous travaillons dans une grande équipe, en construisant une application Web dans JSF, où chaque développeur développe une nouvelle tâche. Par exemple: Gestion des utilisateurs, sécurité, paramètres système, etc.Méthode recommandée pour organiser une grande application JSF sur les builds quotidiens

Nous devons créer une tâche quotidienne pour créer le fichier WAR à partir du SVN.

Nous savons comment utiliser constructeur quotidien, SVN, etc.

Notre question est de savoir comment enregistrer par module? Quelle est la méthode recommandée pour construire par l'application web des paquets comme JSF où il est construit sur le module MVC et les pages font partie du bean? Devrions-nous utiliser plusieurs WAR/Packages?

Je dois l'enregistrer par module, car il y a des erreurs dans un module qui ne devraient pas être téléchargées avec le reste des modules. (Je sais compiler et trouver décider si le télécharger ou non).

Répondre

2

Vous pouvez utiliser "branche (s) de travail" (ou "branche de module") dans laquelle se produit le développement d'un module. Le tronc contiendrait tout, les développeurs travaillant sur une "branche de module" donnée fusionneraient du tronc au travail tous les jours, mais publieraient sur le tronc seulement une fois que le travail serait terminé (fait incluant les tests qui passent). Quelque chose comme cette (photo de Version Control for Multiple Agile Teams):

alt text

L'image ci-dessus illustre une « branches de travail » approche par équipe, mais on pourrait imaginer utiliser une plus fine approche à grain fin et utiliser des branches de travail par modules. Les principes sont similaires.

Ensuite, vous mettez le coffre et toutes les «branches de travail» sous une intégration continue.

+0

Le problème est que les développeurs pensent TOUJOURS que leur travail est terminé. Je n'ai pas de problèmes avec les nouveaux modules, j'ai des problèmes avec les modules de travail passés, qu'un utilisateur par erreur a influencé sa fonctionnalité de travail en changeant le code commun par exemple. – Dejell

+0

@Odelya je vois. Mais je ne sais pas comment vous pourriez gérer cela, sauf en effectuant des tests de non-régression (par exemple avec du sélénium) dans l'ensemble. –

+0

@Pascal c'est pourquoi j'ai posté cette question à StackOverFlow :) – Dejell