Proxy configuration for Talend CommandLine - 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 CommandLine
Talend JobServer
Talend Management Console
Talend Remote Engine
Talend Studio
Content
Administration and Monitoring
Deployment
Design and Development
Last publication date
2024-02-29
Talend allows you to configure a proxy server for Talend CommandLine by editing the Maven settings file and adding new build parameters.

To configure a proxy server:

  • In the <settings> section of the Maven settings file, add the following:
      <proxies>
        <proxy>
          <id>httpProxy</id>
          <active>true</active>
          <protocol>http</protocol>
          <host><proxy_host></host>
          <port><proxy_port></port>
          <username><username></username>
          <password><password></password>
          <nonProxyHosts>localhost</nonProxyHosts>
        </proxy>
        <proxy>
          <id>httpsProxy</id>
          <active>true</active>
          <protocol>https</protocol>
          <host><proxy_host></host>
          <port><proxy_port></port>
          <username><username></username>
          <password><password></password>
          <nonProxyHosts>localhost</nonProxyHosts>
        </proxy>
      </proxies>
  • In the Maven command used to build your project, add the following parameters:
    -Dhttp.proxyHost=<proxy_host> 
    -Dhttp.proxyPort=<proxy_port> 
    -Dhttp.proxyUser=<username> 
    -Dhttp.proxyPassword=<password> 
    -Dhttp.nonProxyHosts=localhost 
    -Dhttps.proxyHost=<proxy_host> 
    -Dhttps.proxyPort=<proxy_port> 
    -Dhttps.proxyUser=<username> 
    -Dhttps.proxyPassword=<password> 
    -Dhttps.nonProxyHosts=localhost
    -Djdk.http.auth.tunneling.disabledSchemes= 
    Example:
    mvn org.talend.ci:builder-maven-plugin:<version>:generateAllPoms 
    -s <studio_path>\configuration\maven_user_settings.xml 
    -Dtalend.studio.p2.base=http://<p2_site>/base/ 
    -Dtalend.studio.p2.update=http://<p2_site>/update/ 
    -Dlicense.path=<license_path> 
    -Dhttp.proxyHost=<proxy_host> 
    -Dhttp.proxyPort=<proxy_port> 
    -Dhttp.proxyUser=<username> 
    -Dhttp.proxyPassword=<password> 
    -Dhttp.nonProxyHosts=localhost 
    -Dhttps.proxyHost=<proxy_host> 
    -Dhttps.proxyPort=<proxy_port> 
    -Dhttps.proxyUser=<username> 
    -Dhttps.proxyPassword=<password> 
    -Dhttps.nonProxyHosts=localhost
    -Djdk.http.auth.tunneling.disabledSchemes= 

About the -Djdk.http.auth.tunneling.disabledSchemes parameter:

Only basic authentication is supported to access the proxy server. As JVM disabled the basic authentication by default, you need to add this parameter in your CI commands to use it, and you can leave the parameter value empty if needed.

Note for headless Linux users:

If you execute CI commands without any GUI installed, you may get the following error:
[INFO] !ENTRY org.eclipse.equinox.security 4 0 YYYY-MM-DD HH:MM:SS
[INFO] !MESSAGE No password was found. Value of "pass" is being stored as a non-encrypted value in the node  "/org.eclipse.core.net.proxy.auth/HTTP".

This error is not a blocker, however it is a warning that indicates the server password is stored in an unsecured way. To fix this, you can add the -Declipse.password parameter in Maven command.

Example:
mvn org.talend.ci:builder-maven-plugin:<version>:generateAllPoms 
-s <studio_path>\configuration\maven_user_settings.xml 
-Dtalend.studio.p2.base=http://<p2_site>/base/ 
-Dtalend.studio.p2.update=http://<p2_site>/update/ 
-Dlicense.path=<license_path> 
-Dhttp.proxyHost=<proxy_host> 
-Dhttp.proxyPort=<proxy_port> 
-Dhttp.proxyUser=<username> 
-Dhttp.proxyPassword=<password> 
-Dhttp.nonProxyHosts=localhost 
-Dhttps.proxyHost=<proxy_host> 
-Dhttps.proxyPort=<proxy_port> 
-Dhttps.proxyUser=<username> 
-Dhttps.proxyPassword=<password> 
-Dhttps.nonProxyHosts=localhost 
-Djdk.http.auth.tunneling.disabledSchemes= 
-Declipse.password=<path_to_master_password_file>

Read the corresponding Maven Apache documentation for more information on proxy configuration.