web-dev-qa-db-fra.com

mvn clean install vs deploy vs release

Je viens d'apprendre à apprendre et nous avons récemment eu besoin d'aller de plus en plus. J'aimerais connaître la différence entre

mvn clean install

mvn release

mvn deploy

Veuillez être aussi descriptif que possible.

115
myusuf3

Les clean, install et deployles phases sont valides phases du cycle de vie et leur appel déclenchera toutes les phases les précédant et les objectifs liés à ces phases.

mVN propre installer

Cette commande appelle la phase clean puis la phase install de manière séquentielle:

  • clean: supprime les fichiers générés au moment de la construction dans le répertoire d'un projet (target par défaut)
  • install: installe le paquet dans le référentiel local, pour l'utiliser comme dépendance dans d'autres projets localement.

mVN déployer

Cette commande appelle la phase deploy:

  • deploy: copie le package final dans le référentiel distant ​​pour le partager avec d'autres développeurs et projets.

libération MVN

Ce n'est ni une phase valide, ni un objectif donc cela ne fera rien. Mais si fait référence au plug-in Maven Release utilisé pour automatiser la gestion des versions. La libération d'un projet se fait en deux étapes: prepare et perform. Comme documenté:

La préparation d’une version passe par les phases suivantes:

  • Vérifiez qu'il n'y a pas de changements non validés dans les sources
  • Vérifiez qu'il n'y a pas de dépendances SNAPSHOT
  • Changez la version des POM de x-SNAPSHOT en une nouvelle version (vous serez invité à indiquer les versions à utiliser)
  • Transformer les informations SCM dans le POM pour inclure la destination finale de la balise
  • Exécutez les tests du projet sur les POM modifiés pour vérifier que tout fonctionne correctement.
  • Commettre les POM modifiés
  • Marquez le code dans le GDS avec un nom de version (cela vous sera demandé)
  • Bump la version dans les POM à une nouvelle valeur y-SNAPSHOT (ces valeurs seront également invitées)
  • Commettre les POM modifiés

Puis:

L'exécution d'une version exécute les phases suivantes:

  • Commander à partir d'une URL SCM avec une balise facultative
  • Exécutez les objectifs Maven prédéfinis pour libérer le projet (par défaut, deploy site-deploy)

Voir également

205
Pascal Thivent
  • mvn install placera votre projet Maven dans le référentiel local , pour une application locale utilisant votre projet comme dépendance.
  • mvn release va essentiellement mettre votre code actuel dans une balise sur votre SCM, changer votre version dans vos projets.
  • mvn deploy placera votre projet maven dans un référentiel distant pour le partager avec d'autres développeurs.

Ressources:

24
Colin Hebert