У нас есть задание сборки Jenkins, которое выполнило цель ANT, которая выполняет git clone / pull (мы не используем плагин Jenkins Git).
<macrodef name="git">
<attribute name="command" />
<attribute name="dir" default="" />
<element name="args" optional="true" />
<sequential>
<echo message="git @{command}" />
<exec executable="git" dir="@{dir}">
<arg value="@{command}" />
<args/>
</exec>
</sequential>
</macrodef>
<macrodef name="git-clone-pull">
<attribute name="repository" />
<attribute name="dest" />
<sequential>
<git command="clone">
<args>
<arg value="@{repository}" />
<arg value="@{dest}" />
</args>
</git>
<git command="pull" dir="@{dest}" />
</sequential>
</macrodef>
<target name="clone-pull-git-repository">
<echo message="# Cloning '${git.repository}':" />
<git-clone-pull
repository="https://${git.user}:${git.password}@${git.repository.url}/grsbrms/${git.repository}"
dest="${git.repository.dir}/${git.repository}" />
</target>
И мы видим следующую ошибку посленедавняя миграция Bitbucket.
[echo] git pull
[exec] fatal: unable to access 'https://TestUser:xyz@bitbucket.somecorp.com/scm/grs-brms-payroll-xom/': SSL certificate problem: unable to get local issuer certificate
Мы попытались импортировать сертификат ssl с веб-сайта в JVM:
keytool -import -alias SV12345 -keystore %JAVA_HOME%\jre\lib\security\cacerts -file C:\Temp\bitbucket.cer
И также добавили сертификат в сценарий запуска Jenkins:
-Djavax.net.ssl.trustStore=%JENKINS_HOME%\.cacerts\cacerts
-Djavax.net.ssl.trustStorePassword=changeit
Возможно ли решить эту проблему, не отключая проверку SSL для всей системы git?
т.е. git config --system http.sslVerify false
Спасибо