This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2016_2017:s3:concprogobjet:td:environnement [2016/09/27 11:21] blay [Environnement pour methodo : Maven, GIT, JUNIT Aperçu] |
2016_2017:s3:concprogobjet:td:environnement [2016/09/28 12:28] blay |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | |||
====== Environnement pour methodo : Maven, GIT, JUNIT Aperçu ====== | ====== Environnement pour methodo : Maven, GIT, JUNIT Aperçu ====== | ||
<note tip>Attention, nous restons ici dans l'environnement IntelliJ. Des Tds spécifiques sur Git seront réalisés plus tard. Nous visons à travers ce TD, à nouveau, à vous outiller..</note> | <note tip>Attention, nous restons ici dans l'environnement IntelliJ. Des Tds spécifiques sur Git seront réalisés plus tard. Nous visons à travers ce TD, à nouveau, à vous outiller..</note> | ||
+ | ====== AVANT TOUT====== | ||
+ | En ligne de commande avec l'outil Git: Lancez la commande: | ||
+ | <color red> git config --global http.sslVerify false </color> | ||
===== Association d'un projet Maven avec un repository GIT (1 seule fois par équipe ) ===== | ===== Association d'un projet Maven avec un repository GIT (1 seule fois par équipe ) ===== | ||
<note tip>Mise en place de votre environnement de développement pour le module Production : Création de la structure initiale du projet, Mise en place du repository GIT</note> | <note tip>Mise en place de votre environnement de développement pour le module Production : Création de la structure initiale du projet, Mise en place du repository GIT</note> | ||
+ | <note warning>Une seule fois par équipe, puisqu'il s'agit de mettre en place la structure du projet. La récupération de cette structure par tous les membres de l'équipe est réalisée à l'exercice suivant !</note> | ||
- Si ce n'est pas fait [[https://mbf-iut.i3s.unice.fr/doku.php?id=intellij#creer_un_projet_maven|créer un projet Maven]] | - Si ce n'est pas fait [[https://mbf-iut.i3s.unice.fr/doku.php?id=intellij#creer_un_projet_maven|créer un projet Maven]] | ||
* GroupId : fr.unice.iut.methodo.iutGo1 (ou 2 ...4) | * GroupId : fr.unice.iut.methodo.iutGo1 (ou 2 ...4) | ||
* ArtefactID : au choix mais vous devez tous avoir le même dans l'équipe. | * ArtefactID : au choix mais vous devez tous avoir le même dans l'équipe. | ||
+ | - Vérifier que votre projet s'exécute correctement, pour être certain qu'il est bien construit! | ||
- Récupérer l'adresse du dépôt GIT de votre projet : {{ :2016_2017:s3:concprogobjet:td:git_forge_logiciel_du_de_partement_informatique.png?direct&300 |}} | - Récupérer l'adresse du dépôt GIT de votre projet : {{ :2016_2017:s3:concprogobjet:td:git_forge_logiciel_du_de_partement_informatique.png?direct&300 |}} | ||
- {{ :2016_2017:s3:concprogobjet:td:enableversioncontrol_2016-09-11_a_18.53.08.png?direct&300 |}} | - {{ :2016_2017:s3:concprogobjet:td:enableversioncontrol_2016-09-11_a_18.53.08.png?direct&300 |}} | ||
- | - Répondre NON : {{ :2016_2017:s3:concprogobjet:td:no_2016-09-15_a_23.00.44.png?direct&300 |}} | + | - Répondre <color red>NON</color> : <color red>NON</color> <color red>NON</color> <color red>NON</color> <color red>NON</color> <color red>NON</color> {{ :2016_2017:s3:concprogobjet:td:no_2016-09-15_a_23.00.44.png?direct&300 |}} |
- | - "Créer gitignore" : {{:2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-09-16_a_15.34.46.png?200|}} | + | - "Créer gitignore" (pour spécifier les fichiers que vous ne voulez pas voir dans le répertoire partagé par l'équipe, chacun aura les siens), si vous n'y avez pas accès, il vous manque peut etre un plugin gitIgnore que vous trouverez sous File-> Settings -> Pluggins -> Browse repository -> .ignore : {{:2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-09-16_a_15.34.46.png?200|}} |
- | - Sélectionner java, jetBrain, windows, osx, linux, maven. example : {{ :2016_2017:s3:concprogobjet:td:gitignore_2016-09-15_a_23.09.31.png?direct&300 |}} | + | - Sélectionner java, jetBrain, windows, osx, linux, maven pour par exemple ne pas avoir les .class, .iml, etc : {{ :2016_2017:s3:concprogobjet:td:gitignore_2016-09-15_a_23.09.31.png?direct&300 |}} |
- "Commiter votre projet" : {{ :2016_2017:s3:concprogobjet:td:comitter_2016-09-15_a_23.03.40.png?direct&300 |}} | - "Commiter votre projet" : {{ :2016_2017:s3:concprogobjet:td:comitter_2016-09-15_a_23.03.40.png?direct&300 |}} | ||
- Commiter : {{ :2016_2017:s3:concprogobjet:td:commit_2016-09-15_a_23.15.29.png?direct&300 |}} | - Commiter : {{ :2016_2017:s3:concprogobjet:td:commit_2016-09-15_a_23.15.29.png?direct&300 |}} | ||
Line 40: | Line 47: | ||
Le chef de projet fait le travail à la racine pour vérifier que le dépôt GIT principal qui sera utilisé en intégration fonctionne bien. Vous pourrez y placer les codes que vous voudrez partager dans l'ensemble du groupe. | Le chef de projet fait le travail à la racine pour vérifier que le dépôt GIT principal qui sera utilisé en intégration fonctionne bien. Vous pourrez y placer les codes que vous voudrez partager dans l'ensemble du groupe. | ||
Puis pour s'assurer qu'il sait collaborer, il récupère les codes d'un quelconque de ses sous-projets. | Puis pour s'assurer qu'il sait collaborer, il récupère les codes d'un quelconque de ses sous-projets. | ||
+ | |||
+ | ===== Récupération des codes sources d'un projet maven présent dans un repository GIT ===== | ||
+ | |||
+ | <note tip>Dans le cadre du projet, vous allez dans cette étape récupérer le projet qui a été placé dans le dépôt sur la forge, pour en avoir une copie sur votre machine.</note> | ||
+ | |||
+ | - Commencer par créer un nouveau projet sur votre machine par récupération du repo distant : {{ :2016_2017:s3:concprogobjet:td:checkout_2016-09-15_a_22.27.35.png?direct&300 }} | ||
+ | - Récupérer l'adresse de votre repo distant : | ||
+ | - {{ :2016_2017:s3:concprogobjet:td:reference_dans_lal_forge_2016-09-15_a_22.37.42.png?direct&400 }} | ||
+ | - {{ :2016_2017:s3:concprogobjet:td:forgedepot_2016-09-15_a_22.41.16.png?direct&300 }} | ||
+ | - {{ :2016_2017:s3:concprogobjet:td:forgeadresse_2016-09-15_a_22.44.01.png?direct&300 }} | ||
+ | - Enregistrer le repo : | ||
+ | - {{ :2016_2017:s3:concprogobjet:td:connexion_2016-09-15_a_22.50.16.png?direct&300 }} | ||
+ | - Ajouter un nouveau fichier ou modifier du code, le commiter et le pousser dans le dépôt distant. | ||
+ | - Tous les étudiants de l'équipe font la même chose afin que chacun ait son environnement sur sa machine. | ||
+ | - Récupérer la version courante du projet par update {{ :2016_2017:s3:concprogobjet:td:updategit.png?direct&300 }} | ||
+ | |||
+ | Tous les étudiants à la fin du TD ont un projet MAVEN dans leur propre environnement connecté par GIT à la forge. Le chef de projet fait le travail à la racine pour vérifier que le dépôt GIT principal qui sera utilisé en intégration fonctionne bien. Vous pourrez y placer les codes que vous voudrez partager dans l'ensemble du groupe. Puis pour s'assurer qu'il sait collaborer, il récupère les codes d'un quelconque de ses sous-projets. /* - {{ :2016_2017:s3:concprogobjet:td:connexion_git_2016-09-15_a_22.32.09.png?direct&300 |}} - {{ :2016_2017:s3:concprogobjet:td:tomaven_2016-09-15_a_22.51.51.png?direct&300 |}} {{ :2016_2017:s3:concprogobjet:td:confmaven_2016-09-15_a_22.52.47.png?direct&300 |}} */ | ||
+ | |||
+ | /* ===== Récupération d'un projet Maven avec un repository GIT (tous les autres une fois le projet créé) ===== - Associer le dépôt Git à votre projet : * {{ :2016_2017:s3:concprogobjet:td:vcs_2016-09-11_a_18.42.07.png?direct&300 |}} * Sélectionner le dépôt et le répertoire {{ :2016_2017:s3:concprogobjet:td:repertoire-2016-09-11_a_18.44.07.png?direct&300 |}} */ | ||
+ | |||
+ | ===== Utilisation de maven pour récupérer une dépendance ===== | ||
+ | |||
+ | ==== Renseigner le repository Maven propre à l'IUT ==== | ||
+ | |||
+ | <note warning>A faire absoluement!</note> | ||
+ | |||
+ | Afin de récupérer une __dépendance__ au sein de votre projet, il faut spécifier dans le **pom.xml** l'adresse du serveur (repository) Maven que nous utilisons dans le cadre de ce module: | ||
+ | |||
+ | <code> | ||
+ | <repositories> | ||
+ | <repository> | ||
+ | <id>iut-public</id> | ||
+ | <name>Repo IUT</name> | ||
+ | <url>http://sparks-vm26.i3s.unice.fr/repository/iut-public/</url> | ||
+ | </repository> | ||
+ | </repositories> | ||
+ | </code> | ||
+ | |||
+ | <note tip>Si aucun repository n'est spécifié, Maven cherchera automatiquement les dépendances sur Maven Central ([[https://repo1.maven.org/maven2/|https://repo1.maven.org/maven2/]]) où NE SONT PAS DISPONIBLES les modules développés à l'IUT</note> | ||
+ | |||
+ | ==== Module Member ==== | ||
+ | |||
+ | Une fois le repository renseigné, nous pouvons récupérer la dépendance vers le module Member (à placer entre <dependencies></dependencies>): | ||
+ | |||
+ | <code> | ||
+ | <dependency> | ||
+ | <groupId>fr.unice.iut.info.methodo</groupId> | ||
+ | <artifactId>members</artifactId> | ||
+ | <version>1.0-SNAPSHOT</version> | ||
+ | </dependency> | ||
+ | </code> | ||
+ | |||
+ | Le code source (avec les tests associés) du module Member est disponible [[https://bitbucket.org/cyrilcecchinel/member_service_iut|ici]] | ||
+ | |||
+ | ==== Module Maps ==== | ||
+ | |||
+ | Une fois le repository renseigné, nous pouvons récupérer la dépendance vers le module Maps (à placer entre <dependencies></dependencies>): | ||
+ | |||
+ | <code> | ||
+ | <dependency> | ||
+ | <groupId>fr.unice.iut.info.methodo</groupId> | ||
+ | <artifactId>maps</artifactId> | ||
+ | <version>1.0-SNAPSHOT</version> | ||
+ | </dependency> | ||
+ | </code> | ||
+ | |||
+ | Le code source (avec les tests associés) du module Maps est disponible [[https://bitbucket.org/cyrilcecchinel/openstreetmap_iut|ici]]. Un exemple d'application exécutable est donné au sein du code source. N'hésitez pas à cloner le repo git et à ouvrir le module comme un projet à part entière afin d'exécuter l'application. | ||
+ | |||
+ | En savoir plus [[http://dcabasson.developpez.com/articles/java/maven/introduction-maven2/|Maven]] | ||
+ | |||
/* | /* | ||
Line 97: | Line 174: | ||
==== Module Maps ==== | ==== Module Maps ==== | ||
- | Une fois le repository renseigné, nous pouvons récupérer la dépendance vers le module Member (à placer entre <dependencies></dependencies>): | + | Une fois le repository renseigné, nous pouvons récupérer la dépendance vers le module Maps (à placer entre <dependencies></dependencies>): |
<dependency> | <dependency> | ||
Line 105: | Line 182: | ||
</dependency> | </dependency> | ||
- | Le code source (avec les tests associés) du module Maps est disponible [[https://bitbucket.org/cyrilcecchinel/openstreetmap_iut|ici]]. Un exemple d'application exécutable est donné au sein du code source. N'hésitez pas à cloner le repo git (cf. TD Git) et ouvrir le module comme un projet à part entière afin d'exécuter l'application. | + | Le code source (avec les tests associés) du module Maps est disponible [[https://bitbucket.org/cyrilcecchinel/openstreetmap_iut|ici]]. Un exemple d'application exécutable est donné au sein du code source. N'hésitez pas à cloner le repo git et à ouvrir le module comme un projet à part entière afin d'exécuter l'application. |
+ | |||
+ | En savoir plus | ||
+ | [[http://dcabasson.developpez.com/articles/java/maven/introduction-maven2/|Maven]] |