Paramètres CI Builder relatifs à Maven - 8.0

Talend Software Development Life Cycle - Guide de bonnes pratiques

Version
8.0
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
Ces paramètres ne sont pas détaillés dans l'aide embarquée du plug-in (consultez le fichier d'aide generate-mojo.html) et peuvent être utilisés dans mavenOpts (Jenkins)/mavenOptions(Azure DevOps) ou dans les commandes mvn(Jenkins)/options(Azure DevOps) de la définition de votre build d'intégration continue.
Paramètre Maven Valeur
Paramètres de Talend CommandLine -Dproduct.path

Chemin du répertoire d'installation de Talend CommandLine.

Exemple :
-Dproduct.path=/opt/Talend/commandline8
À partir de la version 8, le Studio Talend fournit deux scripts, commandline_upgrade.bat pour Windows et commandline-linux_upgrade.sh pour Linux, vous permettant d'installer Talend CommandLine par une mise à niveau d'un nouveau Studio Talend ou d'un existant.
-Dp2Installer.path Chemin d'accès aux fichiers de l'Installer.

Si le paramètre -Dproduct.path est spécifié, le produit Talend CommandLine sera installé avec la valeur définie pour ce paramètre.

Exemple :
-Dproduct.path=/home/.installation/.commandline_8
-Dp2Installer.path=/home/.installation/.p2Installer_8
Cela vous permet d'utiliser des chemins différents pour l'installation et les patchs des différentes versions des produits.
-Dlicense.path Chemin vers la licence de votre produit Talend.

Si la valeur du chemin d'accès à la licence est une URL et que des identifiants sont nécessaires pour y accéder, utilisez les paramètres -Dlicense.remote.user et -Dlicense.remote.password.

Vous pouvez utiliser ce paramètre lors du build pour mettre à jour une licence expirée. Pour modifier une licence, vous pouvez utiliser ce paramètre et ajouter le paramètre -Dinstaller.clean=true si vous n'utilisez pas la commande mvn org.talend.ci:builder-maven-plugin:8.0.4:install.

-Dtalend.studio.p2.base

L'URL du référentiel pour les packages de fonctionnalités du Studio Talend ou le dossier dézippé de l'archive Talend_Full_Studio_p2_repository-YYYYMMDD_HHmm-VA.B.C.zip pour les packages de fonctionnalités du Studio Talend.

Exemple d'URL du référentiel officiel Talend pour les packages de fonctionnalités du Studio Talend :

-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base

Exemple pour le dossier dézippé de l'archive pour les packages de fonctionnalités du Studio Talend :

-Dtalend.studio.p2.base=D:\Talend\v80\StudioP2Base

Pour plus d'informations, consultez Configurer les référentiels de mises à jour pour le Studio Talend et l'intégration continue.

-Dtalend.studio.p2.update

L'URL du référentiel pour les mises à jour du Studio Talend, c'est-à-dire le ZIP du patch qui vous est attribué, l'archive pour les mises à jour du Studio Talendou le dossier dézippé de l'archive pour les mises à jour du Studio Talend.

Exemple d'URL du référentiel officiel Talend pour la dernière mise à jour mensuelle du Studio Talend :

-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/latest

Exemple pour l'archive pour une mise à jour mensuelle du Studio Talend :

-Dtalend.studio.p2.update=D:\Talend\v80\Patch_20220129_R2022-01_v2-8.0.1.zip

Exemple pour le dossier dézippé de l'archive pour une mise à jour mensuelle du Studio Talend :

-Dtalend.studio.p2.update=D:\Talend\v80\StudioR202201

Pour plus d'informations, consultez Configurer les référentiels de mises à jour pour le Studio Talend et l'intégration continue.

-Dpatch.path Chemin d'accès au patch installé ou que vous souhaitez installer (patch manuel, patch de composant personnalisé, correctif, etc.).

Notez que ce paramètre est déprécié à partir de la version 8.0 R2022-04. Alternativement, vous pouvez utiliser le paramètre -Dtalend.studio.p2.update.

Exemple si vous avez installé le patch localement :
-Dpatch.path=D:/patches/Patch_TPS-2222.zip,D:/patches/Patch_TPS-3333.zip
Exemple de patch à télécharger :
-Dpatch.path=http://localhost:8085/nexus/content/repositories/releases/Patch_TPS-2222.zip,http://localhost:8085/nexus/content/repositories/releases/Patch_TPS-3333.zip

Si des identifiants sont nécessaires pur accéder à l'emplacement du site des mises à jour, utilisez les paramètres -Dpatch.remote.user et -Dpatch.remote.password. Le paramètre patch.remote.password peut configurer un mot de passe chiffré par Maven.

-Dinstaller.clean Effectue une installation propre et supprime le dossier .metadata de votre répertoire Workspace d'intégration continue avant de réinstaller Talend CommandLine.

Exemple : -Dinstaller.clean=true

-DforceUpdate Force l'installation de Talend CommandLine à partir du site de mise à jour, même si une installation locale est présente.

Notez que ce paramètre est déprécié à partir de la version 8.0 R2022-04. Alternativement, vous pouvez utiliser le paramètre -Dinstaller.clean.

Exemple : -DforceUpdate=true

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.connectTimeout

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.readTimeout

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.browse.connectTimeout

Limite de temps en millisecondes indiquant le temps d'attente d'ouverture de la connexion avant de retourner une erreur. Ces paramètres empêchent le blocage du serveur d'intégration continue lorsque l'il ne reçoit pas une réponse assez rapidement. Leur valeur par défaut est de 12 000 millisecondes.

Exemple :

-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.connectTimeout=12000 
-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.readTimeout=12000 
-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.browse.connectTimeout=12000
-Dgeneration.type Saisissez local comme valeur afin de générer les sources de vos artefacts et Tests sans avoir à maintenir Talend CommandLine en marche pendant l'exécution du build.
Exemple :
-Dgeneration.type=local

Le type de génération server n'est plus supporté.

-DcveReportFilePath Vous permet de définir le chemin où stocker le rapport contenant la liste des vulnérabilités corrigées dans vos artefacts.

Ce paramètre peut être utilisé uniquement avec la commande Maven org.talend.ci:builder-maven-plugin:8.0.X:detectCVE.

Pour plus d'informations, consultez Détecter les vulnérabilités corrigées (CVE) de vos artefacts lors de la construction.

Exemple :
-DcveReportFilePath=/home/talend/cvereport.csv
-Dcommandline.skip Saisissez la valeur true pour ignorer la génération du code source de vos artefacts.

Ce paramètre peut être utilisé uniquement si vous avez déjà généré vos artefacts à l'aide de Talend CommandLine.

Exemple :
-Dcommandline.skip=true
-DprojectFilter Vous permet de construire uniquement les projets spécifiques.
Exemple de filtre sur tous les projets commençant par CI :
-DprojectFilter="CI.*"
-DitemFilter Vous permet de construire uniquement des éléments de projets spécifiques.

Exemple de filtre sur les types de Jobs :

-DitemFilter=(type=process) pour filtrer sur tous les Jobs Standard du projet

-DitemFilter=(type=process_mr) pour filtrer sur tous les Jobs Map/Reduce et Spark Batch Big Data du projet

-DitemFilter=(type=process_storm) pour filtrer sur tous les Jobs Storm et Spark Streaming Big Data du projet

-DitemFilter=(type=route) pour filtrer sur toutes les Routes du projet

Exemple de filtre sur les libellés de Jobs :

-DitemFilter=(type=process_mr)and(label=job_ProcessWeatherData) pour filtrer sur un Job Big Data Map/Reduce en particulier, nommé job_ProcessWeatherData

-DitemFilter=(type=process)and(label%job_dev*) pour filtrer sur les Jobs dont le nom commence par job_dev

Exemple de filtre sur les chemins de Jobs :

-DitemFilter=(type=process)and(path=Integration) pour filtrer sur les Jobs situés dans un sous-dossier nommé Integration

-DitemFilter=(type=process)and(path%Integration*) pour filtrer sur les Jobs situés dans des sous-dossiers dont le nom commence par Integration

Exemple de filtre sur les personnes qui ont créé le Job :

-DitemFilter=(type=process_storm)and(author=rbunch@talend.com) pour filtrer sur les Jobs Storm Streaming Big Data dont l'identifiant de l'auteur est rbunch@talend.com

Exemple de filtre d'exclusion :

-DitemFilter=(!path=sandbox)and(type=process)and(label%job_Export*)or(label%job_Monitor*) pour filtrer les Jobs dont le nom commence par job_Export ou job_Monitor, mais qui ne se trouvent pas dans le dossier sandbox.

-DitemFilter=(!path%MainProcess/Import*)and(type=process)and(label%job_Export*) pour filtrer les Jobs dont le nom commence par job_Export, mais qui ne se trouvent pas dans les sous-dossiers dont le nom commence par Import, dans le dossier MainProcess.

Exemple de filtre appliqué afin d'exécuter les Jobs Big Data Spark Batch situés dans les sous-dossiers dont le nom commence par Export dans le dossier MainProcess, à l'exception du Job nommé job_batch_feature22 :

-DitemFilter=(type=process_mr)and(!label=job_batch_feature22)and(path%MainProcess/Export*)

-DforceMavenOnline Dans le cas d'une erreur liée à une dépendance lors de la construction ou de l'ordonnancement de l'exécution de Jobs en mode hors connexion, cette commande permet au Studio de télécharger les dépendances selon la configuration définie dans le fichier de paramètres Maven.

L'erreur que vous pouvez obtenir est la suivante :

Plugin X.Y.Z or one of its dependencies could not be resolved: Cannot access central

Cela peut être évité en re-générant tous les fichiers POM avant le build, afin que les fichiers POM contiennent toutes les dépendances nécessaires à l'exécution de vos Jobs.

-Dworkspace Vous permet de définir le projet de l'espace de travail courant pour lequel vous souhaitez construire des artefacts.

Il peut être utilisé avec plusieurs commandes Maven builder, comme org.talend.ci:builder-maven-plugin:8.0.X:detectCVE ou org.talend.ci:builder-maven-plugin:8.0.X:generateAllPoms.

Exemple :
-Dworkspace=/home/talend/talend_studio/CI/workspace
Paramètres des composants personnalisés -Dcomponents.* Lorsque vous déployez des Jobs utilisant des composants personnalisés dans un référentiel d'artefacts, spécifie le référentiel dans lequel sont stockées les bibliothèques des composants.

Cela est requis uniquement pour les composants personnalisés créés à l'aide de Talend Component Kit.

Pour plus d'informations, consultez cette documentation.

Exemple :
-Dcomponents.nexus.user=<user> 
-Dcomponents.nexus.password=<password> 
-Dcomponents.nexus.url=http://localhost:8081/ 
-Dcomponents.nexus.repository=talend-custom-libs-release 
-Dcomponents.nexus.repository.snapshot=talend-custom-libs-snapshot
Remarque : Pour les anciens composants basés sur javajet, consultez ce guide.
Paramètre du référentiel d'artefacts -DaltDeploymentRepository Lors d'un déploiement vers un référentiel d'artefacts (Nexus, Artifactory), spécifie un référentiel alternatif vers lequel les artefacts du projet doivent être déployés.

Format : id::layout::url

Par exemple :
-DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots/
Paramètres Docker -Djkube.docker.push.registry Permet de spécifier le registre Docker dans lequel vous souhaitez partager votre image.
-Djkube.docker.username Permet de spécifier l'utilisateur ou l'utilisatrice Docker correspondant au compte qui se connecte au registre Docker.

Dans le script par défaut fourni par Talend, la valeur correspond à la variable ${env.Dusername}, c'est-à-dire à l'utilisateur ou l'utilisatrice Docker défini dans les informations de connexion stockées dans Jenkins.

-Djkube.docker.password Permet de spécifier le mot de passe Docker correspondant au compte qui se connecte au registre Docker.

Dans le script par défaut fourni par Talend, la valeur correspond à la variable ${env.Dpassword}, c'est-à-dire au mot de passe Docker défini dans les informations de connexion stockées dans Jenkins.

-Djkube.docker.host Spécifie le nom d'hôte correspondant au compte qui se connecte au registre Docker.
-Dtalend.project.branch Spécifie le tag et les artefacts associés, avec un tag, que vous souhaitez construire.
Exemple :
-Dtalend.project.branch=tags/mytag
-Djvm.arguments Arguments JVM permettant d'augmenter la mémoire allouée à Maven.
Exemple :
-Djvm.arguments=-Xms512m -Xmx4000m
-Dcodes.compile.failOnError Pour empêcher l'échec du build d'intégration continue lorsqu'il rencontre des routines avec des erreurs de compilation qui ne sont pas utilisées dans les artefacts en cours de construction, ajoutez ce paramètre avec une valeur false pour les ignorer et continuer la compilation.
Exemple :
-Dcodes.compile.failOnError=false