Building and Deploying - Cloud - 8.0

Talend Software Development Life Cycle Best Practices Guide

Version
Cloud
8.0
Language
English
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Administration Center
Talend Artifact Repository
Talend Cloud Management Console
Talend CommandLine
Talend JobServer
Talend Remote Engine
Talend Studio
Content
Administration and Monitoring
Deployment
Design and Development
Talend offers you several ways to publish your project artifacts to Talend Cloud, artifact repositories (Nexus, Artifactory) or Docker, and schedule their executions, and allows you to choose the one that suits best your needs.
  • Recommended: use an external Continuous Integration tool.

    You can use other third-party Continuous Integration tools besides Azure DevOps and Jenkins. However, Talend only focuses on the configuration and pipeline script samples on Azure DevOps and Jenkins documented in these two sections, and the usage of any third-party Continuous Integration tools are out of Talend support scope.
  • Alternative: use the Talend Studio Publish, Publish to Cloud option or Talend CommandLine. For more information, see the Talend Studio User Guide.

  • ESB use case: For an example of Docker build with ESB artifacts (Data services and Routes Microservices), see Building Docker images for Data Services and Routes Microservices.

In a continuous integration environment, it is common practice to launch tests at every commit. By default, a new commit is made every time you save artifacts.

The following sections introduce two ways to automate the test executions using the Talend CommandLine and Talend Maven plugins to generate the sources, as well as a CI server (Azure and Jenkins) that use build pipelines to automate the execution of all project artifacts and to publish them to an artifact repository, to Talend Cloud or to a Docker container.

Talend Continuous Integration is Maven-compliant, which means that you have the possibility to use the Talend Maven commands with any stable version of your Continuous Integration server (Jenkins, Bamboo, etc.).

In case you want to use your own Continuous Integration tool to schedule the execution and publishing of artifacts, Talend allows you to do so by providing you the Talend CI Maven plugins:

  • Talend CI Builder is a Maven plugin delivered by Talend that transforms the Talend Job sources to Java classes using the Talend CommandLine application, allowing you to execute your tests in your own company Java factory.

    From version 8.0.4 onwards, Talend CI Builder is available in the official Talend repository and can be automatically downloaded and installed during build time to generate and execute your project artifacts.
  • Talend Cloud Publisher is a Maven plugin delivered by Talend that allows you to publish the Jobs created from Talend Studio directly to Talend Cloud. It is activated by adding the -Pcloud-publisher profile parameter to your CI build.

Talend CI Builder may get upgraded upon the installation of a Talend Studio monthly update provided by Talend. You must use the Talend CI Builder version which is compatible to the Talend Studio version in your CI commands or pipeline scripts. To know the exact version of Talend CI Builder you must use, see the changelog corresponding to the Talend Studio monthly update you are using. For more information about the changelog for each Talend Studio monthly update, see Talend Release Notes.

If you encounter an exception on the artifact org.talend.ci:builder-maven-plugin:jar:8.x.x not being downloaded while using Talend CI Builder, and

  • if you are using version 7.3.10 or above, make sure the maven_settings.xml file points to the official plugin repository:
    <pluginRepository>
    <id>central-talend</id>
    <name>central-talend</name>
    <url>https://talend-update.talend.com/nexus/content/repositories/libraries/</url>
    <layout>default</layout>
    </pluginRepository>
  • if you are using Nexus, you can deploy its new version automatically by logging in any project in Talend Studio.
  • if you are not using Nexus, you can install its new version to target the Maven repository manually.