Options du build Maven Talend personnalisé - Cloud

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

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Studio Talend
Talend Artifact Repository
Talend Management Console
task
Administration et monitoring
Création et développement
Déploiement
Options Maven que vous pouvez passer lors de la construction, de l'exécution et de la publication d'artefacts sur votre serveur d'intégration continue.
Talend tire parti de l'implémentation d'une intégration continue standard basée Maven. Une commande d'intégration continue Maven ressemble généralement à ceci :
mvn \
        -f <project name>/poms/pom.xml \
        -am -pl <comma separated list of jobs modules> \
        -Dgeneration.type=local
        -Dlicense.path=<local path or url> \
        -Dupdatesite.path=<local path> \
        -Dpatch.path=<local path or url>
        clean deploy
Exemple :
mvn -f C:/CI_CD/MYPROJECT/poms/pom.xml clean deploy -fae -e -pl jobs/process/priorTest_0.1 -am -Dlicense.path=C:/CI_CD/license -Dupdatesite.path=http://localhost:8080/P2/ -Dpatch.path=D:/patches/Patch_TPS-2222.zip -Dproject.distributionManagement.snapshotRepository.url=http://localhost:8081/repository/snapshots/ -Dproject.distributionManagement.snapshotRepository.id=snapshots -DaltDeploymentRepository=snapshots::default::http://localhost:8081/repository/snapshots/

Talend-paramètres relatifs à Maven

Paramètre Maven Valeur
Paramètres de Talend CommandLine -Dupdatesite.path URL de votre serveur où le référentiel P2 avec Talend CommandLine peut être téléchargé et installé lors du build. Ce site contient également les plug-ins Maven et toutes les bibliothèques externes à la construction de vos pipelines. Pour savoir comment embarquer le référentiel P2 dans votre application Tomcat, consultez Avant de programmer l'exécution de vos artefacts.
Exemple :
-Dupdatesite.path=http://localhost:8080/P2/
Avertissement : Ce paramètre s'applique uniquement aux utilisateurs et utilisatrices ayant l'archive P2 du site de mise à jour logicielle, fournie par Talend.

-DforceUpdate

-Dinstaller.clean

-U

Paramètres requis lors de l'installation des mises à jour depuis le site de mises à jour :
  • -DforceUpdate force l'installation de Talend CommandLine à partir du site de mises à jour, même si une installation locale est présente.
    Exemple :
    -DforceUpdate=true
  • -Dinstaller.clean télécharge à nouveau tous les plug-ins nécessaires à l'exécution de votre build.
    Exemple :
    -Dinstaller.clean=true
  • -U (sans valeur) télécharge à nouveau tous les fichiers JAR nécessaires à l'exécution de votre build.
-Dpatch.path Chemin d'accès au patch installé ou que vous souhaitez installer (patch p2 du Studio Talend , patch manuel, patch de composant, etc.).
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.

-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.
Par exemple :
-Dgeneration.type=local

Le type de génération server est déprécié.

-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.

-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*)

-Dtalend.job.context et -Dtalend.job.applyContextToChildren Lorsque vous construisez ou ordonnancez l'exécution de Jobs, ce paramètre spécifie le groupe de contexte à appliquer à tous les Jobs lors du build.
Exemple pour appliquer un groupe de contextes nommé dev aux Jobs parents uniquement et appliquer le groupe de contextes par défaut aux Jobs enfants :
-Dtalend.job.context=dev 
Exemple pour appliquer un groupe de contextes nommé dev aux Jobs parents et appliquer le même groupe de contextes aux Jobs enfants :
-Dtalend.job.context=dev -Dtalend.job.applyContextToChildren=true 

Si le groupe de contextes que vous spécifiez n'existe pas dans le Job, le groupe de contextes par défaut sera appliqué.

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.
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
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 de 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.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 -Ddocker.push.registry Permet de spécifier le registre Docker dans lequel vous souhaitez partager votre image.
-Ddocker.push.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.

-Ddocker.push.password Permet de spécifier le moteur 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.

-Dtalend.docker.name Permet de spécifier le nom de l'image Docker qui sera créée.
-Dstudio.prometheus.metrics Ajoutez ce paramètre avec une valeur true lors de la publication dans Docker pour exposer les métriques Camel dans Prometheus et fournir plus de détails conernant les Routes déployées (nombre d'échanges traités, nombre d'erreurs, requêtes par seconde, etc).
-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
-Xms -Xmx Arguments JVM permettant d'augmenter la mémoire allouée à Maven.
-Dstudio.talendDebug Lorsque vous essayez de corriger des problèmes de build avec l'équipe de Support, par exemple, ajoutez ce paramètre avec une valeur true pour obtenir des logs supplémentaires.
Exemple :
-Dstudio.talendDebug=true
-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