Exemple d'intégration et de déploiement continus manuels avec des commandes Maven - 7.2

Talend Software Development Life Cycle - Guide de bonnes pratiques

Version
7.2
Language
Français (France)
Product
Talend Big Data
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Module
Studio Talend
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Content
Administration et monitoring
Création et développement
Déploiement
Si vous n'utilisez pas de serveur d'intégration continue comme Jenkins ou Azure, vous pouvez effectuer des tâches d'intégration continue en utilisant les commandes Maven compatibles avec les produits Talend.

Options principales de Maven nécessaires pour construire manuellement votre projet

Option Maven Description
-f, --file<arg> Force l'utilisation d'un fichier POM spécifique (ici, le répertoire du fichier pom.xml de votre projet Talend).
-s, --settings<arg> Force l'utilisation d'un fichier de paramètres utilisateur spécifique (ici, le chemin vers votre fichier personnalisé settings.xml).
-fn, --fail-never Avec cette option, le build n'échoue jamais, quel que soit le résultat du build du projet.

Cette option est utile lorsque vous construisez des projets multi-module.

-e, --erros Produit des messages d'erreur d'exécution.

Cette option est utile pour diagnostiquer une erreur dans un plug-in Maven.

-pl,--projects <arg> Liste, séparée par une virgule, de projets réacteurs spécifiés à construire au lieu de construire tous les projets.
-am,--also-make Si vous avez spécifié un projet à l'aide de la commande -pl, cela permet de construire également les projets requis par les projets listés.
-amd,--also-make-dependants Si vous avez spécifié un projet à l'aide de la commande -pl, cela permet également de construire les projets dépendant des projets listés.
-D,--define <arg> Définit une propriété système.

Toutes les options Maven personnalisées de Talend doivent être utilisées avec l'option -D option. Consultez la liste des options personnalisées dans Options du build Maven Talend personnalisé.

Toutes les options Maven CLI sont référencées sur le site Web d'Apache Maven (en anglais).

Récupérer votre fichier de configuration Maven personnalisé

La première étape avant de construire manuellement votre projet est de récupérer le fichier settings.xml, le sauvegarder et l'adapter à votre environnement.

  1. Récupérez le fichier settings.xml dans l'onglet Téléchargements du panneau situé à gauche de la page.
  2. Vous pouvez récupérer le fichier settings.xml depuis l'onglet Téléchargements de la version en ligne de cette page, sur https://help.talend.com.
  3. Adaptez le fichier à votre environnement en remplaçant les valeurs des paramètres (URL de Nexus ou d'Artifactory, noms d'hôtes, ports, identifiants, etc.) et sauvegardez vos modifications.
    Conseil : Recherchez les XXX dans le fichier fourni comme exemple et remplacez-les par les valeurs adéquates pour votre environnement. Ce fichier d'exemple est adapté à Nexus. Si vous utilisez un autre référentiel d'artefacts, comme Artifactory, vous devez adapter cet exemple et utiliser les URL de votre référentiel.
  4. Stockez ce fichier dans le répertoire de votre choix. Le chemin vers ce fichier sera utilisé dans la commande Maven au moment du build.

Sélectionner la phase du build Maven build

Vous n'avez besoin d'apprendre qu'un petit nombre de commandes pour construire un projet Maven. Le fichier pom.xml vous assure d'obtenir les résultats attendus. Chaque phase du build représente une étape du cycle de vie. Voici celles dont vous pourrez avoir besoin :

  • test - teste le code source complié à l'aide d'un framework de tests unitaires. Ces tests ne nécessitent pas que le code soit packagé ou déployé.
  • package - prend le code compilé et le package dans un format distribuable, par exemple en JAR.
    Remarque : Si vous souhaitez exclure du code Java du fichier .zip généré lorsque vous utilisez l'objectif (goal) package Maven, ajoutez le paramètre !include-java-sources comme suit :
    mvn clean package -P !include-java-sources
  • install - installe le package sur le référentiel local, pour l'utiliser comme dépendance dans d'autres projets, localement
  • deploy - effectuée dans l'environnement de build, cette phase copie le package final sur le référentiel distant, pour le partager avec d'autres développeurs et projets.

Pour plus d'informations concernant les phases Maven, consultez la documentation Maven (en anglais).

Définir les options Maven pour construire votre projet

Vous avez la possibilité d'adapter la commande de build Maven pour l'adapter à vos besoins. Voici quelques exemples de commandes :

  • Pour construire, tester et packager les artefacts du projet d'intégration et de déploiement continus en tant que fichiers .jar ou .zip et les déployer dans le référentiel Snapshots de Nexus :
    options: '-f <ProjectName>/poms/pom.xml -s <PathToDirectory>/settings.xml -Dlicense.path=<PathToDirectory>/license -Dupdatesite.path=<updatesiteURL> -DaltDeploymentRepository=snapshots::default::http://XXX:8081/repository/snapshots/ -fn -e'
    goals: 'deploy'

    Exemple :

    options: '-f CICD/poms/pom.xml -s /home/talend/CI_dir/settings.xml -Dlicense.path=/home/talend/talend_studio/license -Dupdatesite.path=http://company/updatesite -DaltDeploymentRepository=snapshots::default::http://nexus:8081/repository/snapshots/ -fn -e'
    goals: 'deploy'
  • Pour construire, tester et packager les artefacts du projet d'intégration et de déploiement continus en tant que fichiers .jar ou .zip et les déployer dans un registre Docker :
    options: '-f <ProjectName>/poms/pom.xml -s <PathToDirectory>/settings.xml -Dlicense.path=<PathToDirectory>/license -Dupdatesite.path=<updatesiteURL> -Ddocker.push.registry=<DockerRegistryName> -Ddocker.push.username=<Dockerusername> -Ddocker.push.password=<DockerPassword> -Dtalend.docker.name=<DockerImageName> -Xms1024m -Xmx3096m'
    goals: 'clean deploy'

    Exemple :

    options: '-f CICD/poms/pom.xml -s /home/talend/CI_dir/settings.xml -Dlicense.path=/home/talend/talend_studio/license -Dupdatesite.path=http://company/updatesite -Ddocker.push.registry=registry.example.com/group/project -Ddocker.push.username=TalendUser -Ddocker.push.password=V3ryCompl3xPwd -Dtalend.docker.name=cicd4talend -Xms1024m -Xmx3096m'
    goals: 'clean deploy'

Installer un patch

Si vous devez installer un patch (patch p2 du Studio Talend, patch manuel, patch de composants, etc.), vous pouvez utiliser l'option -Dpatch.path lors du build.

Exemple pour des patchs installés localement :
options: '-f CICD/poms/pom.xml -s /home/talend/CI_dir/settings.xml -Dlicense.path=/home/talend/talend_studio/license -Dpatch.path=D:/patches/Patch_TPS-2222.zip,D:/patches/Patch_TPS-3333.zip'
goals: 'package'