ci成功,没有成功推送到chart仓库

  • Choerodon平台版本:0.21.0

  • 运行环境(如localhost或k8s):k8s

  • 遇到问题时的前置条件:

  • 问题描述:

    ci生成版本成功,部署失败报错日志:大致意思是在我的仓库找不到我的chart包,我看下了chart的持久化目录确实没有我ci生成的tgz包。
    并且我也在master节点helm repo add了我的chart仓库。
    devops部署的SERVICES_HELM_URL也是正确的。

  • 报错信息(请尽量使用代码块的形式展现):
    部署报错信息:

    load chart: find chart: chart "mysql" version "2020.6.2-155927-master" not found in 
    http://chart.s203.xiaobei.fun/operation/share/ repository

ci文件:

stages:
    - chart-build
chart-build:
    stage: chart-build
    script:
      - chart_build
  
.auto_devops: &auto_devops |
    http_status_code=`curl -o .auto_devops.sh -s -m 10 --connect-timeout 10 -w %{http_code} "${CHOERODON_URL}/devops/ci?token=${Token}&type=microservice"`
    if [ "$http_status_code" != "200" ]; then
      cat ./.auto_devops.sh
      exit 1
    fi
    source ./.auto_devops.sh
before_script:
    - *auto_devops

pipeline截图:

  • 疑问:

    我该怎么排查

你试着从内置模板导入应用服务, 然后跑ci看看能不能部署

根据文档快速入门创建前端应用服务,一步步根据文档执行到ci步骤报错:

multi-line command
main: line 87: cd: demo: No such file or directory
$ node_module demo
python: can't open file './demo/node_modules/choerodon-front-boot/structure/menu/__init__.py': [Errno 2] No such file or directory
ERROR: Job failed: command terminated with exit code 1

根据文档快速入门创建后端应用服务,一步步根据文档执行到ci步骤报错:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli) on project choerodon-service: Unable to execute SonarQube: Fail to get bootstrap index from server: Expected URL scheme 'http' or 'https' but no colon was found -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
ERROR: Job failed: command terminated with exit code 1

后端这个, 你的sonarqube配好了吗?

你先导入go模板测试

导入go模板,ci通过,docker build成功,也在harbor看到了镜像。ci chart也成功了。部署还是报错,跟之前一样:


查看chart仓库的持久化目录,没有godemo的tgz

那你chart仓库的持久化目录是空的?

是的,没有godemo这个tgz

那你检查下chartMuseum的搭建过程, 我这边没有什么思路

哈。。搭建过程都是安装文档来的。。。。告诉我怎么排查也好呀

ci上传chart的过程, 本质上是在gitlab runner里helm package打包生成helm包, 然后把这个helm包用http提交到 devops-service, 然后devops-service存一些元数据并生成应用服务版本纪录, 再把helm包上传到chartmuseum

从你的说法来看, 版本已经生成了, 界面上看得到, 那上传到chartmuseum就应该是成功了. 你这个情况, 我暂时没什么头绪