Как загрузить артефакты из сборки Jenkins на Azure DevOps Server - PullRequest
0 голосов
/ 30 октября 2019

У меня Linux-сервер сборки Red Hat с агентом Azure DevOps Server 2019, который выполняет сборку и выпуск.

Когда я запускаю новый выпуск, предполагается, что загружаются артефакты из Jenkins, но когда я пытаюсь это сделатьЯ получаю очень неприятную ошибку SSL, которую я действительно не понимаю.

Подключение службы Jenkins к серверу Azure Devops

См. Изображение: Jenkins Service Connection Azure DevOps

Downloading artifacts failed: System.AggregateException: One or more errors occurred. (The handler does not support custom handling of certificates with this combination of libcurl (7.29.0) and its SSL backend ("NSS/3.44"). An SSL backend based on "openssl/1.0" is required. Consider using System.Net.Http.SocketsHttpHandler.) ---> System.PlatformNotSupportedException: The handler does not support custom handling of certificates with this combination of libcurl (7.29.0) and its SSL backend ("NSS/3.44"). An SSL backend based on "openssl/1.0" is required. Consider using System.Net.Http.SocketsHttpHandler.
   at System.Net.Http.CurlHandler.SslProvider.SetSslOptionsForUnsupportedBackend(EasyRequest easy, ClientCertificateProvider certProvider)
   at System.Net.Http.CurlHandler.SslProvider.SetSslOptions(EasyRequest easy, ClientCertificateOption clientCertOption)
   at System.Net.Http.CurlHandler.EasyRequest.InitializeCurl()
   at System.Net.Http.CurlHandler.MultiAgent.ActivateNewRequest(EasyRequest easy)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.GenericHttpClient.GetAsync(String url, String userName, String password, Boolean acceptUntrustedCertifact)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.JenkinsArtifact.IsValidBuild(IGenericHttpClient client, JenkinsArtifactDetails jenkinsDetails)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.JenkinsArtifact.DownloadAsync(IExecutionContext executionContext, ArtifactDefinition artifactDefinition, String localFolderPath)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseJobExtension.<>c__DisplayClass39_2.<<DownloadArtifacts>b__2>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.RetryExecutor.ExecuteAsync(Func`1 action)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseJobExtension.DownloadArtifacts(IExecutionContext executionContext, IList`1 agentArtifactDefinitions, String artifactsWorkingFolder)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseJobExtension.DownloadArtifactsAndCommitsAsync(IExecutionContext executionContext, Object data)
---> (Inner Exception #0) System.PlatformNotSupportedException: The handler does not support custom handling of certificates with this combination of libcurl (7.29.0) and its SSL backend ("NSS/3.44"). An SSL backend based on "openssl/1.0" is required. Consider using System.Net.Http.SocketsHttpHandler.
   at System.Net.Http.CurlHandler.SslProvider.SetSslOptionsForUnsupportedBackend(EasyRequest easy, ClientCertificateProvider certProvider)
   at System.Net.Http.CurlHandler.SslProvider.SetSslOptions(EasyRequest easy, ClientCertificateOption clientCertOption)
   at System.Net.Http.CurlHandler.EasyRequest.InitializeCurl()
   at System.Net.Http.CurlHandler.MultiAgent.ActivateNewRequest(EasyRequest easy)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.GenericHttpClient.GetAsync(String url, String userName, String password, Boolean acceptUntrustedCertifact)<---
1 more errors. Click on expand view in the context menu to view complete logs.

Я попытался обновить libcurl и проверил openssl и прочее - но на самом деле это не такпонять, в чем именно заключается проблема.

Ожидаемый результат заключается в том, что релиз Azure DevOps может загружать артефакты Jenkins.

...