Может быть, кто-то может помочь мне с этой проблемой: у меня есть работа Jenkins, работающая на компьютере Mac. Проект разработан на Xamarin. В работе сборка запускается так (Execute shell script
):
# Installing dependencies
brew bundle
bundle install
# Run fastlane
bundle exec fastlane ci
Во время компиляции я получаю следующие сообщения об ошибках:
[16:48:42]: -----------------------------------------
[16:48:42]: --- Step: make_changelog_from_jenkins ---
[16:48:42]: -----------------------------------------
[16:48:42]: Unable to read/parse changelog from jenkins: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
[16:48:42]: ------------------------------
[16:48:42]: --- Step: appcenter_upload ---
[16:48:42]: ------------------------------
[16:48:43]: Starting release upload...
[16:48:43]: Uploading release binary...
[16:49:29]: Binary uploaded
[16:49:30]: Release committed
[16:49:33]: Public Download URL: YYYY
[16:49:33]: Release XXXXX was successfully distributed to group "Collaborators"
[16:49:34]: Error adding to destination 400: {"release_notes"=>"Retrieving changelog failed.", "code"=>"bad_request", "message"=>"Destination does not exist."}
[16:49:34]: dSYM is found
Сервер Jenkins имеет самоподписанный сертификат, который он настроил. Я уже нашел способ исправить эту ошибку read server certificate B: certificate verify failed
: SSL_connect возвращено = 1 errno = 0 состояние = SSLv3 чтение сертификата сервера B: сбой проверки сертификата
Итак, я вошел на сервер Mac и загрузил сертификат от Jenkins с:
openssl s_client -connect JENKINSSERVER:8443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > jenkins_cert.pem
Затем я изменил сценарий оболочки в Jenkins, который запускает работу так:
export SSL_CERT_FILE=/Users/user/Downloads/jenkins_cert.pem
if [ ! -f "$SSL_CERT_FILE" ]; then
echo "Error: Could not find SSL_CERT_FILE '$SSL_CERT_FILE'"
exit 1
fi
# Installing dependencies
brew bundle
bundle install
# Run fastlane
bundle exec fastlane ci
Ошибка все еще существует. Было бы хорошо, если бы кто-нибудь дал мне подсказку, где искать. Если вам нужна другая информация, я могу предоставить ее вам.