2017-09-26 87 views
1

我们运行的tomcat只有artifactory.war,它运行良好,我们也使用Active Directory。但是,将战争升级到版本5.4.6后,它无法加载。将Artifactory从3.2.1.1升级到5.4.6失败(仅WAR文件安装)

我们确实使用Python工具(https://github.com/JFrogDev/artifactory-scripts/blob/master/4.x-migration/packageCheck.py)检查它是否具有单个存储库类型。我们在Windows上使用apache-tomcat-8.5.20jdk1.8.0_144jfrog-artifactory-oss-5.4.6.zip(7和2008年有相同的结果)

Tomcat的已修改为使用适当的%JDK_HOME%%ARTIFACTORY_HOME% 此外,<Host>元素与startStopThreads="2"server.xml更新。 的%TOMCAT_HOME%\lib文件夹包含derby-10.11.1.1.jarartifactory.waraccess.war复制到Tomcat的webapps文件夹

当我们开始Tomcat的迁移发生了,所有的回购都没有错误转换,失败是:

artifactory.log 

2017-09-25 17:04:09,772 [art-init] [INFO ] (o.a.s.a.ArtifactoryAccessClientConfigStore:472) - Using Access Server URL: http://localhost:8080/access (bundled) source: detected 
2017-09-25 17:04:11,484 [art-init] [INFO ] (o.a.s.a.AccessServiceImpl:233) - Waiting for access server... 
2017-09-25 17:04:21,406 [art-init] [INFO ] (o.a.s.a.AccessServiceImpl:243) - Got response from Access server after 9921 ms, continuing. 
2017-09-25 17:04:21,636 [art-init] [WARN ] (o.j.a.c.AccessClientBootstrap:92) - Access admin credentials not found, using default admin credentials. 
2017-09-25 17:04:21,985 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:97) - Application could not be initialized: HTTP response status 401:{"errors":[{"code":"UNAUTHORIZED","detail":"Bad credentials","message":"HTTP 401 Unauthorized"}]} 
java.lang.reflect.InvocationTargetException: null 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_144] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_144] 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_144] 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_144] 
    at org.artifactory.webapp.servlet.ArtifactoryContextConfigListener.configure(ArtifactoryContextConfigListener.java:222) ~[artifactory-web-application-5.4.6.jar:na] 
    at org.artifactory.webapp.servlet.ArtifactoryContextConfigListener.access$2(ArtifactoryContextConfigListener.java:184) ~[artifactory-web-application-5.4.6.jar:na] 
    at org.artifactory.webapp.servlet.ArtifactoryContextConfigListener$1.run(ArtifactoryContextConfigListener.java:93) ~[artifactory-web-application-5.4.6.jar:na] 
Caused by: org.springframework.beans.factory.BeanInitializationException: Failed to initialize bean 'org.artifactory.security.access.AccessService'.; nested exception is java.lang.RuntimeException: Failed to generate service admin token using bootstrap credentials. 
    at org.artifactory.spring.ArtifactoryApplicationContext.refresh(ArtifactoryApplicationContext.java:230) ~[artifactory-core-5.4.6.jar:na] 
    at org.artifactory.spring.ArtifactoryApplicationContext.<init>(ArtifactoryApplicationContext.java:114) ~[artifactory-core-5.4.6.jar:na] 
    ... 7 common frames omitted 
Caused by: java.lang.RuntimeException: Failed to generate service admin token using bootstrap credentials. 
    at org.jfrog.access.client.AccessClientBootstrap.createAndStoreServiceAdminToken(AccessClientBootstrap.java:110) ~[access-client-core-2.0.2.jar:na] 

我们从jFrog到达jFrog和Aaron已经建议它可能是因为这个bug。 https://www.jfrog.com/jira/browse/RTFACT-14839

所以,我们说干就干,删除了access_users表使用的是嵌入式Derby JDBC驱动程序从%HOME%/.jfrog-access/data/derbyadmin项的建议。我们还在%HOME%/.jfrog-access/etc中放置了bootstrap.creds文件。

bootstrap.creds 

admin=plaintextadminpasswordhere 

后来我们还添加了2个属性artifactory.system.properties

artifactory.system.properties 
artifactory.access.server.bundled=true 
artifactory.access.client.serverUrl.override=http://localhost:8080/access 

在相关的问题https://www.jfrog.com/jira/browse/RTFACT-14477建议(虽然它似乎没有成为问题)

当我们开始再一次的bootstrap.creds文件得到处理(消失)并在access_users表中创建新的admin条目。尽管如此,结果几乎完全一样:

2017-09-25 18:25:42,689 [art-init] [INFO ] (o.a.s.a.ArtifactoryAccessClientConfigStore:472) - Using Access Server URL: http://localhost:8080/access (bundled) source: system property 
2017-09-25 18:25:43,600 [art-init] [INFO ] (o.a.s.a.AccessServiceImpl:233) - Waiting for access server... 
2017-09-25 18:25:54,667 [art-init] [INFO ] (o.a.s.a.AccessServiceImpl:243) - Got response from Access server after 11065 ms, continuing. 
2017-09-25 18:25:55,434 [art-init] [WARN ] (o.j.a.c.AccessClientBootstrap:92) - Access admin credentials not found, using default admin credentials. 
2017-09-25 18:25:55,980 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:97) - Application could not be initialized: HTTP response status 401:{"errors":[{"code":"UNAUTHORIZED","detail":"Bad credentials","message":"HTTP 401 Unauthorized"}]} 
java.lang.reflect.InvocationTargetException: null 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_144] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_144] 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_144] 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_144] 
    at org.artifactory.webapp.servlet.ArtifactoryContextConfigListener.configure(ArtifactoryContextConfigListener.java:222) ~[artifactory-web-application-5.4.6.jar:na] 
    at org.artifactory.webapp.servlet.ArtifactoryContextConfigListener.access$2(ArtifactoryContextConfigListener.java:184) ~[artifactory-web-application-5.4.6.jar:na] 
    at org.artifactory.webapp.servlet.ArtifactoryContextConfigListener$1.run(ArtifactoryContextConfigListener.java:93) ~[artifactory-web-application-5.4.6.jar:na] 
Caused by: org.springframework.beans.factory.BeanInitializationException: Failed to initialize bean 'org.artifactory.security.access.AccessService'.; nested exception is java.lang.RuntimeException: Failed to generate service admin token using bootstrap credentials. 
    at org.artifactory.spring.ArtifactoryApplicationContext.refresh(ArtifactoryApplicationContext.java:230) ~[artifactory-core-5.4.6.jar:na] 
    at org.artifactory.spring.ArtifactoryApplicationContext.<init>(ArtifactoryApplicationContext.java:114) ~[artifactory-core-5.4.6.jar:na] 
    ... 7 common frames omitted 
Caused by: java.lang.RuntimeException: Failed to generate service admin token using bootstrap credentials. 
    at org.jfrog.access.client.AccessClientBootstrap.createAndStoreServiceAdminToken(AccessClientBootstrap.java:110) ~[access-client-core-2.0.2.jar:na] 
    at org.jfrog.access.client.AccessClientBootstrap.bootstrapServiceAdminToken(AccessClientBootstrap.java:79) ~[access-client-core-2.0.2.jar:na] 
    at org.jfrog.access.client.AccessClientBootstrap.<init>(AccessClientBootstrap.java:42) ~[access-client-core-2.0.2.jar:na] 
    at org.artifactory.security.access.AccessServiceImpl.initAccessService(AccessServiceImpl.java:227) ~[artifactory-core-5.4.6.jar:na] 
    at org.artifactory.security.access.AccessServiceImpl.initIfNeeded(AccessServiceImpl.java:216) ~[artifactory-core-5.4.6.jar:na] 
    at org.artifactory.security.access.AccessServiceImpl.init(AccessServiceImpl.java:211) ~[artifactory-core-5.4.6.jar:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_144] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_144] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_144] 
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] 
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:76) ~[artifactory-storage-common-5.4.6.jar:na] 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] 
    at com.sun.proxy.$Proxy89.init(Unknown Source) ~[na:na] 
    at org.artifactory.spring.ArtifactoryApplicationContext.refresh(ArtifactoryApplicationContext.java:228) ~[artifactory-core-5.4.6.jar:na] 
    ... 8 common frames omitted 
Caused by: org.jfrog.access.client.AccessClientHttpException: HTTP response status 401:{"errors":[{"code":"UNAUTHORIZED","detail":"Bad credentials","message":"HTTP 401 Unauthorized"}]} 
    at org.jfrog.access.client.http.AccessHttpClient.createRestResponse(AccessHttpClient.java:312) ~[access-client-core-2.0.2.jar:na] 
    at org.jfrog.access.client.http.AccessHttpClient.restCall(AccessHttpClient.java:299) ~[access-client-core-2.0.2.jar:na] 
    at org.jfrog.access.client.http.AccessHttpClient.createToken(AccessHttpClient.java:133) ~[access-client-core-2.0.2.jar:na] 
    at org.jfrog.access.client.token.TokenClientImpl.create(TokenClientImpl.java:36) ~[access-client-core-2.0.2.jar:na] 
    at org.jfrog.access.client.AccessClientBootstrap.createAndStoreServiceAdminToken(AccessClientBootstrap.java:103) ~[access-client-core-2.0.2.jar:na] 
    ... 28 common frames omitted 
2017-09-25 18:25:56,687 [http-nio-8080-exec-5] [ERROR] (o.a.w.s.ArtifactoryFilter:188) - Artifactory failed to initialize: Context is null 

任何建议,我们应该尝试下一步? 在此先感谢!

回答

2

我们有一些问题,迁移我的工作场所artifactory的5.4太:RTFACT-14690

我的(有限)的理解是,重构和分裂从artifactory.war到artifactory.war和access.war,从5.4开始。 0,为迁移打开了很多问题。

您可以分两步进行迁移吗?

  • 从3.2.1.1迁移到从5.3.X 5.3.X
  • 迁移到5.4.6

这个工作对我们和周围我们的升级问题很好地工作。

+1

如果没有更多的想法会出现,也会尝试这一点,也正在考虑这一点。非常感谢,很高兴知道有人尝试过它并且工作正常! – wholenewstrain

+0

试过5.3.2,它的工作没有问题,但5.5.1应用后,它失败了同样的问题FYI – wholenewstrain

+1

不知道5.5.0还没有:-) 你是否再次尝试你的问题的所有步骤(' artifactory.system.properties','bootstrap.creds')在5.5.1上? 如果情况已经如此,我的最后一个想法是做一个5.3.2的系统导出,安装一个新的5.5.1实例并从5.3.2导出进行系统导入。 – ajeans