Paramètres CI Builder relatifs à Maven - Cloud

Talend Software Development Life Cycle pour le Cloud - Guide de bonnes pratiques

Version
Cloud
Language
Français (France)
Product
Talend Cloud
Module
Studio Talend
Talend Artifact Repository
Talend Management Console
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 chemin vers 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 chemin d'accès au 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, ou le chemin d'accès au dossier dézippé du patch qui vous est attribué, ou l'archive pour les mises à jour du Studio Talend.

Si vous souhaitez migrer vos projets vers une nouvelle version, il est possible que vous deviez installer des patchs, notamment des mises à jour mensuelles du Studio Talend, des patchs manuels, des patchs de composants, à l'aide de ce paramètre lors du build. L'avantage principal de ce paramètre est qu'il vous permet de tester et d'appliquer un patch sur un ou plusieurs projet·s, à l'aide de l'intégration continue, avant d'appliquer le patch au 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 le chemin d'accès au 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.

(Facultatif)

-Declipse.keyring et -Declipse.password

-Dtalend.studio.p2.base.user et -Dtalend.studio.p2.base.pwd

-Dtalend.studio.p2.update.user et -Dtalend.studio.p2.update.pwd

Si l'authentification basique est activée dans les référentiels de mise à jour du Studio Talend, utilisez ces paramètres pour saisir les identifiants chiffrés à l'aide du stockage sécurisé d'Eclipse.

Cette fonctionnalité est disponible à partir de la version 8.0 R2022-09.

Exemple :

-Dtalend.studio.p2.base=http://localhost:8081/Studio/8/base
-Dtalend.studio.p2.update=http://XYZ.talend.com:8081/Studio/8/updates/R2022-07v2/
-Declipse.keyring=<keyring-file-path>/mykeyring
-Declipse.password=<master-password-file-path>/mymaster
-Dtalend.studio.p2.base.user=admin
-Dtalend.studio.p2.base.pwd=admin123
-Dtalend.studio.p2.update.user=admin
-Dtalend.studio.p2.update.pwd=admin123

Pour plus d'informations concernant le chiffrement des identifiants dans les fichiers de configuration du Studio Talend, consultez Authentification basique pour les référentiels de mise à jour dans le Studio Talend.

-Dsigner.path

-Dsigner.keystore.password

-Dsigner.key.password

-Dsigner.key.alias

(disponible à partir de la R2022-06)

Spécifiez le fichier KeyStore Java personnalisé pour la signature d'artefacts de Jobs lors du build des packages d'artefacts de Jobs, pour empêcher toute modification accidentelle ou malveillante de vos artefacts de Jobs. Par défaut, un fichier KeyStore Java émis par Talend est utilisé pour les signatures d'artefacts de Jobs.
  • -Dsigner.path : chemin d'accès à votre fichier KeyStore Java personnalisé.
  • -Dsigner.keystore.password : mot de passe du KeyStore, chiffré dans Maven ou en plein texte.
  • -Dsigner.keystore.password : mot de passe du KeyStore, chiffré dans Maven ou en plein texte.
  • -Dsigner.key.alias : nom de l'alias associé à votre KeyStore.

Pour plus d'informations concernant le chiffrement des mots de passe à l'aide de Maven, consultez Password Encryption (en anglais).

Après avoir publié vos artefacts de Jobs dans Talend Cloud à l'aide de Talend Cloud Publisher, le moteur distant valide leur signature avant de les exécuter. Pour plus d'informations, consultez Exécuter des tâches fiables avec votre signature électronique personnalisée.

Exemple pour les mots de passe chiffrés :

mvn clean package
-f D:/Talend/ciworkspace/projectname/poms/pom.xml
-Dproduct.path=D:/Talend/Studio-80
-Dsigner.path=D:/Talend/JKS/code-signing_valid.jks
-Dsigner.keystore.password={ugVME8/sYhMHjXYNN74oemBjBxpsRFWb31etYRyiif8=}
-Dsigner.key.password={SozpGRQPFNUHQqDvo3gTW/hEv0LZ1FfKZk1fFngb1Fc=}
-Dsigner.key.alias=code-signing

Exemple pour les mots de passe en plein texte :

mvn clean package
-f D:/Talend/ciworkspace/projectname/poms/pom.xml
-Dproduct.path=D:/Talend/Studio-80
-Dsigner.path=D:/Talend/JKS/code-signing_valid.jks
-Dsigner.keystore.password=keystore123
-Dsigner.key.password=key123
-Dsigner.key.alias=code-signing
-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
-Dtalend.profile.module Permet d'activer ou désactiver les profils lors de la génération des fichiers POM, en configurant sa valeur à true ou false, respectivement.

Si vous n'avez pas installé la mise à jour mensuelle 8.0 R2022-06 du Studio ou une mise à jour plus récente fournie par Talend et si un projet principal contient des projets de référence dupliqués, vous devez ajouter ce paramètre et configurer sa valeur à true lors de la génération des fichiers POM pour le projet principal. Cela permet d'éviter la définition de modules des projets dupliqués dans les fichiers POM et de spécifier des profils à l'aide du paramètre -P lors de la construction des projets et artefacts utilisant la commande de package Maven. Pour plus d'informations, consultez Générer les fichiers POM pour vos projets.

Si vos projets sont migrés à partir d'une version 7.1, 7.2, ou 7.3, les profils peuvent être activés ou désactivés en cochant ou décochant la case Set reference project modules in profile (Configurer les modules des projets de référence dans le profil) dans la vue Build > Maven de la fenêtre Project Settings (Paramètres des projets) dans le Studio Talend. Vous pouvez écraser les paramètres de profil dans le Studio Talend via le paramètre -Dtalend.profile.module lors de la génération des fichiers POM à l'aide de l'intégration continue.

Exemple pour activer les profils :

-Dtalend.profile.module=true
-Dtalend.exclude.deleted Permet d'exclure les modules des éléments supprimés des fichiers POM en configurant sa valeur à true lors de la génération des fichiers POM pour vos projets.

Exemple :

-Dtalend.exclude.delete=true
-DprojectFilter Vous permet de construire des projets spécifiques. Les expressions régulières sont supportées.

Exemple de filtre sur tous les projets commençant par CI :

-DprojectFilter="CI.*"
Exemple de filtre sur deux projets projectA et projectB spécifiques :
-DprojectFilter="projectA|projectB"
-DitemFilter Vous permet de construire des éléments de projets spécifiques. Les expressions régulières sont supportées.

Notez que si -DitemFilter est utilisé avec -DprojectFilter, -DitemFilter sera appliqué uniquement sur les projets filtrés par -DprojectFilter. Si les projets filtrés ont des projets de référence qui ne sont pas filtrés par -DprojectFilter, les fichiers POM seront générés pour tous les éléments de ces projets de référence.

Exemple de filtre sur les types de Jobs :

  • -DitemFilter=(type=process) pour filtrer sur tous les Jobs Standard
  • -DitemFilter=(type=process_mr) pour filtrer sur tous les Jobs Big Data Map/Reduce et Spark Batch
  • -DitemFilter=(type=process_storm) pour filtrer sr tous les Jobs Big Data Storm et Spark Streaming
  • -DitemFilter=(type=route) pour filtrer sur toutes les Routes

Exemple de filtre sur les libellés de Jobs :

  • -DitemFilter=(type=process)and(label=jobA) pour filtrer sur un Job spécifique nommé jobA
  • -DitemFilter=(type=process)and(label%job*) pour filtrer sur les Jobs dont le nom commence par job

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 versions des Jobs :

  • -DitemFilter=(type=process)and(version=lastVersion) pour filtrer sur la dernière version de vos Jobs.

Vous avez également la possibilié de supprimer les anciennes versions de vos éléments de projets dans les paramètres des projets du Studio Talend.

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

-DitemFilter=(type=process)and(author=doc@talend.com) pour filtrer sur les Jobs dont l'identifiant de l'auteur est doc@talend.com

Exemple de filtre d'exclusion :

  • -DitemFilter=(!path=sandbox)and(type=process)and(label%jobA*)or(label%jobB*) pour filtrer sur les Jobs dont le nom commence par jobA ou jobB qui ne se situent pas dans le dossier sandbox
  • -DitemFilter=(!path%MainProcess/Import*)and(type=process)and(label%job*) pour filtrer sur les Jobs dont le nom commence par job, mais qui ne se trouvent pas dans les sous-dossiers dont le nom commence par Import dans le dossier MainProcess
  • -DitemFilter=(type=process)and(!label=job2)and(path%MainProcess/Export*) pour filtrer sur les Jobs situés dans les sous-dossiers dont le nom commence par Export dans le dossier MainProcess, à l'exception du Job nommé job2
-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

Exemple :
-DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots/
Paramètres de Talend Cloud -Pcloud-publisher Active le plug-in de publication Talend Cloud vous permettant de publier dans Talend Cloud.
-Dservice.url Spécifie le compte Talend Cloud dans lequel déployer les artefacts du projet.

Dans le script par défaut fourni par Talend, la valeur correspond à la variable ${CLOUD_URL} définie au début du script.

-Dcloud.token Spécifie le jeton d'accès généré pour votre compte Talend Cloud.

Les jetons d'accès personnels sont générés depuis Talend Cloud Management Console.

-Dcloud.publisher.environment Spécifie l'environnement créé dans votre compte Talend Cloud dans lequel déployer les artefacts du projet.
Par exemple :
-Dcloud.publisher.environment=PROD
-Dcloud.publisher.workspace Spécifie l'espace de travail créé dans votre compte Talend Cloud dans lequel déployer les artefacts du projet.
Par exemple :
-Dcloud.publisher.workspace=CI_WORKSPACE
-Dcloud.publisher.screenshot Ajoutez ce paramètre avec la valeur true si vous souhaitez publier la capture de l'artefact à déployer dans votre compte Talend Cloud.
Par exemple :
-Dcloud.publisher.screenshot=true
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 Spécifie les arguments JVM si besoin, par exemple pour augmenter la mémoire disponible pour Talend CommandLine.

Si vous avez installé la mise à jour mensuelle 8.0 R2022-07 du Studio ou une mise à jour mensuelle plus récente fournie par Talend, les arguments JVM sont également appliqués à l'application Eclipse p2 director, utilisée pour l'installation de Talend CommandLine. Pour plus d'informations, consultez Installing software using the p2 director application (en anglais).

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