Skip to main content
Close announcements banner

Defining the Maven options to build your project

You have the possibility to adapt the Maven build command to fit your deployment needs. Here are some examples of commands:

  • To build, test, package artifacts of the CICD project as .jar or .zip files and deploy them to the Nexus snapshots repository:
    options: '-f <ProjectName>/poms/pom.xml 
    -s <PathToDirectory>/maven_settings.xml 
    -Dlicense.path=<PathToDirectory>/license 
    -Dtalend.studio.p2.base=<P2BaseURL> 
    -Dtalend.studio.p2.update=<P2UpdateURL> 
    -Pnexus
    -DaltDeploymentRepository=snapshots::default::http://XXX:8081/repository/snapshots/ 
    -fae 
    -e'
    goals: 'deploy'
    • Groovy script example:

      options: '''-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml  
      -Dlicense.path=/home/talend/talend_studio/license 
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-02
      -Pnexus
      -DaltDeploymentRepository=snapshots::default::http://nexus:8081/repository/snapshots/ 
      -fae 
      -e'''
      goals: 'deploy'

      Read the Groovy syntax documentation for more information on supported formats for multiline strings.

    • Yaml script example:

      options: '-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -Dlicense.path=/home/talend/talend_studio/license 
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-02
      -Pnexus
      -DaltDeploymentRepository=snapshots::default::http://nexus:8081/repository/snapshots/ 
      -fae 
      -e'
      goals: 'deploy'

      Read the YAML syntax documentation for more information on supported formats for multiline strings.

    Example with a Job that uses custom components (additional parameters are required to point to the artifact repository in which the custom components are stored):

    • Groovy example:

      options: '''-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -pl jobs/process/sample_0.1 
      -am  
      -Dcomponents.nexus.user=username 
      -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
      -Dlicense.path=/home/talend/talend_studio/license 
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-02
      -Pnexus
      -DaltDeploymentRepository=snapshots::default::http://nexus:8081/repository/snapshots/ 
      -fae 
      -e'''
      goals: 'deploy'

      Read the Groovy syntax documentation for more information on supported formats for multiline strings.

    • YAML example:

      options: '-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -pl jobs/process/sample_0.1 
      -am  
      -Dcomponents.nexus.user=username 
      -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
      -Dlicense.path=/home/talend/talend_studio/license 
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-02
      -Pnexus
      -DaltDeploymentRepository=snapshots::default::http://nexus:8081/repository/snapshots/ 
      -fae 
      -e'
      goals: 'deploy'

      Read the YAML syntax documentation for more information on supported formats for multiline strings.

    Example with a Job that uses context groups:
    • Groovy example:

      options: '''-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -pl jobs/process/parent_0.1 
      -am  
      -Dlicense.path=/home/talend/talend_studio/license
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-02
      -Dtalend.job.context=dev 
      -Dtalend.job.applyContextToChildren=true 
      -fae 
      -e'''
      goals: 'deploy'

      Read the Groovy syntax documentation for more information on supported formats for multiline strings.

    • YAML example:

      options: '-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -pl jobs/process/parent_0.1 
      -am  
      -Dlicense.path=/home/talend/talend_studio/license
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-02
      -Dtalend.job.context=dev 
      -Dtalend.job.applyContextToChildren=true 
      -fae 
      -e'
      goals: 'deploy'

      Read the YAML syntax documentation for more information on supported formats for multiline strings.

    Information noteNote: If the context group you specify does not exist on the Job, the default context group will be applied.
  • To build, clean, test, package artifacts of the CICD project as .jar or .zip files and deploy them to a Docker registry:
    options: '-f <ProjectName>/poms/pom.xml 
    -s <PathToDirectory>/maven_settings.xml 
    -Dlicense.path=<PathToDirectory>/license 
    -Dtalend.studio.p2.base=<updatesiteURL> 
    -Dtalend.studio.p2.update=<updatefolderPathOrURL> 
    -Pdocker
    -Djkube.docker.push.registry=<DockerRegistryName> 
    -Djkube.docker.username=<Dockerusername> 
    -Djkube.docker.password=<DockerPassword> 
    -Dtalend.docker.name=<DockerImageName> 
    -Xms1024m -Xmx3096m'
    goals: 'clean deploy'
    • Groovy script example:

      options: '''-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -Dlicense.path=/home/talend/talend_studio/license 
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/updateXXX.zip
      -Pdocker
      -Djkube.docker.push.registry=registry.example.com/group/project 
      -Djkube.docker.username=TalendUser 
      -Djkube.docker.password=V3ryCompl3xPwd 
      -Dtalend.docker.name=cicd4talend
      -Xms1024m 
      -Xmx3096m'''
      goals: 'clean deploy'

      Read the Groovy syntax documentation for more information on supported formats for multiline strings.

    • YAML script example:

      options: '-f CICD/poms/pom.xml 
      -s /home/talend/CI_dir/maven_settings.xml 
      -Dlicense.path=/home/talend/talend_studio/license 
      -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base
      -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/updateXXX.zip
      -Pdocker
      -Djkube.docker.push.registry=registry.example.com/group/project 
      -Djkube.docker.username=TalendUser 
      -Djkube.docker.password=V3ryCompl3xPwd 
      -Dtalend.docker.name=cicd4talend
      -Xms1024m 
      -Xmx3096m'
      goals: 'clean deploy'

      Read the YAML syntax documentation for more information on supported formats for multiline strings.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!