IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Fonctionnement release candidate ?


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut Fonctionnement release candidate ?
    Bonjour,

    Je viens à la collecte d'information.
    Ma question globale, comment fonctionne les releases candidates ?

    Mon contexte :
    J'ai un projet A qui pointe vers l'archi B de version 1.0 et un développeur sur chacun d'eux.

    Si le dev A à besoin d'une nouvelle fonctionnalité de l'archi, il faut proposer une archi RC-1.1 que le dev A puisse implémenter pour le tester et commiter ses modifications dans le gestionnaire de configuration sans que l'usine logicielle ou les autres développeurs n'en soient perturbés (erreur de compilation).

    - Quelle est la manipulation à faire pour effectuer une RC plutôt qu'une release et inversement ?

    Point à respecter :
    - Il faudrait que l'intégration technique ne puisse pas assembler lorsque les dépendances pointent vers une RC

    En gros, je souhaite implémenter la procédure de release candidate pour régler des problèmes de non régression et accélérer les tests et des implémentations des nouvelles fonctionnalités issues des composants externes.

    Si je ne suis pas très clair ne pas hésiter à me le dire.

    Merci à vous.

    Vincent

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut
    En gros c'est votre retour d'expérience sur le sujet qui m'intéresse.
    Pour info j'ai lu le livre Apache Maven que j'ai sous le coude si vous voulez m'en faire référence.

    Merci encore.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    C'est pas un RC qu'il vous faut c'est des snapshots.

    En gros, B dans son processus de travail va tous les jours générer des snapshots (normalement), avec idéalement un serveur d'intégration continue qui build en continu le repository de code où se trouvent les snapshots.


    Ensuite, A qui a besoin de tester l'intégration avec une future release de B, au lieu de pointer vers B en version 1.0 pointera par exemple vers B en version 1.1-SNAPSHOT


    Le snapshot en maven on ceci de particulier que
    maven ira tous les jours chercher la dernière version
    si il y a des dépendance vers des snapshot, la commande mvn release refusera de fonctionner.


    Ensuite quand B et A son d'accord, B fait une vrai release de la 1.1 que A utilisera alors. Et si elle marche pas pour une raison de dernière minute (qui normalement aurait du déjà être visible avec les snapshots), B entamera le cycle des 1.2 snapshot et on repart pour un tour de stabilisation

    Maintenant si t'as vraiment besoin de faire des releases candidates séparées des snapshot, il y a aussi la possibilité de faire

    mvn Release: 1.0
    1.1-SNAPSHOT
    1.1-SNAPSHOT
    1.1-SNAPSHOT
    1.1-SNAPSHOT
    1.1-RC1-SNAPSHOT
    mvn release: 1.1-RC1
    1.1-RC2-SNAPSHOT
    1.1-RC2-SNAPSHOT
    mvn release: 1.1-RC2
    1.1-RC3-SNAPSHOT
    1.1-RC3-SNAPSHOT
    1.1-RC3-SNAPSHOT
    1.1-RC3-SNAPSHOT
    mvn release: 1.1-RC3
    mvn release: 1.1
    1.2-SNAPSHOT

    Et toutes es variantes que vous pouvez imaginer

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut
    Merci de la réponse.
    Alors effectivement il y a bien une Intégration continue qui constitue les SNAPSHOT chaque soir et nous, lorsque l'on souhaite tester une évolutions on pointe sur cette SNAPSHOT via un profil.
    Le seul problème dans ce cas de figure, c'est que l'on ne peut pas commiter nos modifications car les autres eux pointent vers une version releasé, normal.

    L'avantage que je voyais entre la SNAPSHOT et la RC, c'est que je pouvais modifier la version de la dépendance dans le pom pour le répercuter à tout le monde (équipe + IC) car c'est en soi une vrai version et non évolutive comme une SNAPSHOT.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    c'est une très mauvaise idée de mettre la snapshot "juste chez vous", vous risquez simplement de commiter du code qui ne marchera pas avec la version "non snapshot" qu'utilisent les autres devs du projet. Si vous avez besoin d'une snapshot, vous l'utilisez directement dans le pom et vous commitez le pom. Lors de la release future, c'est à ce moment là qu'on retirera la snapshot du pom.

    A noter que pour la "stabilité" vous pouvez aussi viser un snashot particulière en donnant le numéro de version complet du genre 1.1-SNAPSHOT-20110809124523.1245432

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut
    Oui effectivement.

    Lors de la release future, c'est à ce moment là qu'on retirera la snapshot du pom
    ça serait fait manuellement ou automatiquement ?

    Merci.

Discussions similaires

  1. Release candidate enfin !
    Par talu3000 dans le forum Silverlight
    Réponses: 20
    Dernier message: 01/10/2008, 09h31
  2. Réponses: 6
    Dernier message: 02/06/2008, 18h57
  3. Réponses: 0
    Dernier message: 23/05/2008, 11h26
  4. Réponses: 97
    Dernier message: 03/12/2007, 10h39
  5. [ComboBox] Fonctionnement Release != Debug
    Par kacedda dans le forum MFC
    Réponses: 5
    Dernier message: 19/03/2007, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo