部署流水线部署报错

  • Choerodon平台版本:0.9.0

  • 运行环境:一键安装

  • 问题描述:环境已经添加,部署报错

  • 执行的操作:
    部署应用

  • 报错信息(请尽量使用代码块或系统截图的形式展现):

  • 建议:

    提出您认为不合理的地方,帮助我们优化用户操作

请问choerodon平台是新安装的0.9.0还是从0.8升级上去的?

是新一键安装的0.9.0版本。

在环境总览页点击配置库,看看是能进去git配置库。


这个好像没配置过!!

用管理员用户点击管理,点击全局事务,点击里面的事务实例,然后找到所属事务定义编码为create-env的记录,看状态是否是已完成,如果失败,里面有失败的报错原因

feign.FeignException: status 400 reading GitlabServiceClient#createDeploykey(Integer,String,String,boolean,Integer); content:
{"timestamp":"2018-08-27 23:57:56","status":400,"error":"Bad Request","exception":"org.springframework.web.bind.MissingServletRequestParameterException","message":"Required Integer parameter 'projectId' is not present","path":"/v1/projects/deploy_key"}
	at feign.FeignException.errorStatus(FeignException.java:62)
	at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:91)
	at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138)
	at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76)
	at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103)
	at com.sun.proxy.$Proxy212.createDeploykey(Unknown Source)
	at io.choerodon.devops.infra.persistence.impl.GitlabRepositoryImpl.createDeployKey(GitlabRepositoryImpl.java:159)
	at io.choerodon.devops.app.service.impl.DevopsEnvironmentServiceImpl.handleCreateEnvSaga(DevopsEnvironmentServiceImpl.java:336)
	at io.choerodon.devops.api.eventhandler.DevopsSagaHandler.devopsCreateUser(DevopsSagaHandler.java:54)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	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:197)
	at io.choerodon.asgard.saga.SagaMonitor$InvokeTask.run(SagaMonitor.java:169)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

8月27号晚上创建的,那是在修复devops-service gateway环境变量值之前创建的,创环境是类似于应用也会有创建webhook的操作,所以失败了,你现在在这个项目下重新创建一个环境应该就可以了。

创建完之后可以通过上述说的实例事务哪里确认,事务完成就表示创建成功了, 然后用新环境部署就可以了

额,是不是每次都要在创建项目之后在创建环境?

对 环境只能在项目下创建

额,那之前创建的 可以删了?在另外创建一个试一下

环境可以禁用掉,不可以删除,你可以吧之前的环境禁用掉。

可以找到环境了,但部署还是报错:
choerodon-devops-service服务报错:

gitlab配置库又创建了:

choerodon-agent客户端日志:

麻烦帮忙看看。。。

控制台一直在打转:

agent运行正常:

harbor 是可以连接的:

按照报错信息,可能是克隆环境库的时候没有克隆成功

可以先进入集群内devops-service所在的namespace,执行下图操作

然后路径为

查看该目录下有没有文件

choerodon-devops-service 容器里 没有ymal 文件。

root@i-wz9j8qbz9c9gmmgw1zjq:/jmsw# kubectl exec -it choerodon-devops-service-b956f5765-mswft -n jmsw-devops bash
bash-4.3#
bash-4.3#
bash-4.3#
bash-4.3# ls
Charts dev etc lib proc sbin tmp
bin devops-service-repo gitops media root srv usr
deployfile devops-service.jar home mnt run sys var
bash-4.3# cd gitops/
bash-4.3# ls
operation
bash-4.3# cd operation/
bash-4.3# ls
land-test
bash-4.3# cd land-test/
bash-4.3# ls
jmsw-dev jmsw-test
bash-4.3# cd jmsw-test/
bash-4.3# ls
bash-4.3# ls
bash-4.3# pwd
/gitops/operation/land-test/jmsw-test
bash-4.3# cd …
bash-4.3# ls
jmsw-dev jmsw-test
bash-4.3# ll jmsw-dev/
bash: ll: command not found
bash-4.3# ll jmsw-test/
bash: ll: command not found
bash-4.3# ls jmsw-dev/
bash-4.3# ls jmsw-test/
bash-4.3#

如果目录下没有文件,请确认一键部署的时候按照这个文档执行

http://choerodon.io/zh/docs/installation-configuration/steps/parts/base/gitlab/#启用SSH协议

ssh 添加了:
root@i-wz9ik7jd1mwbfygjq7bs:~# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 27939/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 25871/kube-proxy
tcp 0 0 0.0.0.0:33322 0.0.0.0:* LISTEN 14583/sshd
tcp 0 0 127.0.0.1:6443 0.0.0.0:* LISTEN 27444/nginx: master
tcp 0 0 192.168.1.103:22 0.0.0.0:* LISTEN 25871/kube-proxy

DNS这一部不了解啥意思:

是要解析 33322 端口还是 22 端口?