Не удается заставить Дженкинса правильно запускаться и бегать

Я следую руководству "Приступая к работе" из документации Jenkins; однако я не смог заставить Дженкинса работать правильно. Когда я запускаю команду java -jar jenkins.war --httpPort=8080 Я получаю серию предупреждений / ошибок, и Дженкинс не будет работать, как ожидалось. Я не могу установить какие-либо плагины или выполнить следующий шаг руководства по началу работы.

Первое предупреждение, которое я получаю, касается удаления временного файла. Похоже, что происходит сбой, потому что нет файла в этом месте.

Jan 27, 2018 11:58:13 PM Main deleteWinstoneTempContents
WARNING: Failed to delete the temporary Winstone file 
/var/folders/mg/r5m253mx4hz75sk1f_gn5xg80000gn/T/winstone/jenkins.war

Следующее предупреждение, которое я получу, - это предупреждение о пристани. Я понятия не имею, в чем проблема здесь, поскольку я не знаком с Пристани.

Jan 27, 2018 11:58:16 PM 
org.eclipse.jetty.server.handler.ContextHandler setContextPath
WARNING: Empty contextPath

Следующее предупреждение

Jan 27, 2018 11:58:34 PM jenkins.slaves.DeprecatedAgentProtocolMonitor 
initializerCheck
WARNING: This Jenkins instance uses deprecated Remoting protocols: CLI-
connect,CLI2-connect,JNLP-connect,JNLP2-connectIt may impact stability 
of the instance. If newer protocol versions are supported by all system 
components (agents, CLI and other clients), it is highly recommended to 
disable the deprecated protocols.

И, наконец, я получаю длинную трассировку стека относительно какого-то типа Hudson или проблемы с сертификацией.

Jan 27, 2018 11:58:37 PM hudson.model.UpdateCenter updateDefaultSite
WARNING: Upgrading Jenkins. Failed to update the default Update Site 
'default'. Plugin upgrades may fail.
javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to 
find valid certification path to requested target
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
    at hudson.model.DownloadService.loadJSON(DownloadService.java:167)
    at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:190)
    at hudson.model.UpdateCenter.updateDefaultSite(UpdateCenter.java:2194)
    at jenkins.install.SetupWizard.init(SetupWizard.java:184)
    at jenkins.install.InstallState$3.initializeState(InstallState.java:105)
    at jenkins.model.Jenkins.setInstallState(Jenkins.java:1037)
    at jenkins.install.InstallUtil.proceedToNextStateFrom(InstallUtil.java:98)
    at jenkins.model.Jenkins.<init>(Jenkins.java:927)
    at hudson.model.Hudson.<init>(Hudson.java:86)
    at hudson.model.Hudson.<init>(Hudson.java:82)
    at hudson.WebAppMain$3.run(WebAppMain.java:233)
Caused by: sun.security.validator.ValidatorException: PKIX path 
building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to 
find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
    at sun.security.validator.Validator.validate(Validator.java:260)
    at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
    ... 23 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
    ... 29 more

Как я уже сказал, я следую их инструкциям слово в слово, и они очень просты, но это просто не сработает. Любая помощь, которую вы можете оказать, будет высоко ценится. Благодарю.

1 ответ

Это может зависеть от вашей точной настройки и ОС: это было замечено, например, в настройке докера, с проблемой 422 jenkinsci / docker, хотя этот Dockerfile работает.

Вопрос включает в себя:

Я столкнулся с той же проблемой, и я исправил ее, удалив опцию '--preferedClassLoader'в переменной среды JENKINS_ARGS,

При этом ваш локальный экземпляр Jenkins может захотеть подключиться к сайту https (например, для проверки обновления плагинов).
Если это так, вам необходимо импортировать сертификат удаленного сайта в хранилище ключей JDK.

Другие вопросы по тегам