Proxy configuration for Talend CommandLine
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 <!-- This parameter is only supported for users with Talend Studio 8.0.1 R2024-04 or lower -Dtalend.studio.p2.base=https://<p2_site>/base --> -Dtalend.studio.p2.update=https://<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
<!-- This parameter is only supported for users with Talend Studio 8.0.1 R2024-04 or lower
-Dtalend.studio.p2.base=https://<p2_site>/base -->
-Dtalend.studio.p2.update=https://<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.