平台从0.11.0升级到0.12.0后,之前在0.11.0上成功跑通CI并且成功部署的应用,在0.12.0上部署失败。

查看平台全局事务相关信息:

  • 执行的操作:
    与之前0.11.0版本操作一致,应用部署。

  • 报错信息(请尽量使用代码块或系统截图的形式展现):
    平台全局事务内容如下:


    异常信息如下:
    org.eclipse.jgit.api.errors.JGitInternalException: Missing unknown 3524dd29a59e81a4a5927e74919468d4c066ba77
    at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:331)
    at io.choerodon.devops.infra.common.util.GitUtil.checkout(GitUtil.java:170)
    at io.choerodon.devops.infra.common.util.GitUtil.checkout(GitUtil.java:162)
    at io.choerodon.devops.app.service.impl.DevopsGitServiceImpl.handDevopsEnvGitRepository(DevopsGitServiceImpl.java:760)
    at io.choerodon.devops.app.service.impl.DevopsGitServiceImpl.fileResourceSync(DevopsGitServiceImpl.java:377)
    at io.choerodon.devops.app.service.impl.DevopsGitServiceImpl$$FastClassBySpringCGLIB$$3502622.invoke()
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:736)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:671)
    at io.choerodon.devops.app.service.impl.DevopsGitServiceImpl$$EnhancerBySpringCGLIB$$182f0806.fileResourceSync()
    at io.choerodon.devops.api.eventhandler.DevopsSagaHandler.gitops(DevopsSagaHandler.java:131)
    at sun.reflect.GeneratedMethodAccessor1088.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at io.choerodon.asgard.saga.SagaMonitor$InvokeTask.invoke(SagaMonitor.java:207)
    at io.choerodon.asgard.saga.SagaMonitor$InvokeTask.run(SagaMonitor.java:179)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 3524dd29a59e81a4a5927e74919468d4c066ba77
    at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:163)
    at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:234)
    at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:859)
    at org.eclipse.jgit.revwalk.RevWalk.parseCommit(RevWalk.java:772)
    at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:262)
    … 23 more

执行kubectl logs -f devops-service-584d784dc6-6ngcz -n c7n-system, 查看devops-service日志异常信息如下:




您好,这边0.12.0是没有更改使用ssh方式去克隆环境库逻辑的,错误信息的意思是通过ssh key的方式克隆环境库失败了。您那边有改过什么gitlab的配置吗? 或者你可以本地试下该环境库的是否能通过ssh key的方式克隆下来

没有修改任何配置。我试了本地也不能通过ssh方式克隆,我本地生成了ssh key,并且将公钥加入到了Gitlab 上,不知道是什么原因。

我本地现在能成功通过ssh方式克隆下来,但是应用部署依然报之前的错误。