流水线发布Chart出错

  • Choerodon平台版本:0.6.0

  • 运行环境:自主搭建

  • 问题描述:

    请尽量详细的描述您遇到的问题,以便我们能更快速的提供解决办法。

    如:使用了一下迭代管理,到冲刺发布以后就结束了。 之前还想着是需求和feature相关之类的。迭代发布会和release分支关联在一起

  • 执行的操作:
    如:创建了一个新用户并给用户分配了项目管理员权限,使用该用户登录系统

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

  • 建议:

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

如图,错误日志

你这个应用服务是怎么创建的?

本地安装的开源版本

我是说servicetest这个应用。

你创建一个新的应用看ci能不能成功

新创建了一个springboot应用,通过模板创建的,也是不行


按照上面的图片打开.gitlab-ci.yaml文件,获取include 后面的链接中的内容。

然后将include这行命令注视掉。

将从include中获取的内容放在后面。

在 source .auto_devops.sh命令后面添加下面:

function chart_build() {
  #判断chart主目录名是否与应用编码保持一致
  CHART_DIRECTORY_PATH=$(find . -maxdepth 2 -name ${PROJECT_NAME})
  if [ ! -n "${CHART_DIRECTORY_PATH}" ]; then
    echo "The chart's home directory should be consistent with the application code!"
    exit 1
  fi
  # 查找Chart.yaml文件
  CHART_PATH=$(find . -maxdepth 3 -name Chart.yaml)
  # 重置values.yaml文件中image.repository属性
  sed -i "s,repository:.*$,repository: ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME},g" ${CHART_PATH%/*}/values.yaml
  # 构建chart包,重写version与app-version为当前版本
  helm package ${CHART_PATH%/*} --version ${CI_COMMIT_TAG} --app-version ${CI_COMMIT_TAG}
  TEMP=${CHART_PATH%/*}
  FILE_NAME=${TEMP##*/}
  # 通过Choerodon API上传chart包到devops-service
  ls
  echo $TEMP
  echo $FILE_NAME
  echo "file=${FILE_NAME}-${CI_COMMIT_TAG}.tgz"
  result_upload_to_devops=$(curl -X POST \
    -H 'Expect:' \
    -F "token=${Token}" \
    -F "harbor_config_id=${HARBOR_CONFIG_ID}" \
    -F "repo_type=${REPO_TYPE}" \
    -F "version=${CI_COMMIT_TAG}" \
    -F "file=@${FILE_NAME}-${CI_COMMIT_TAG}.tgz" \
    -F "commit=${CI_COMMIT_SHA}" \
    -F "ref=${CI_COMMIT_REF_NAME}" \
    -F "image=${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG}" \
    "${CHOERODON_URL}/devops/ci" \
    -o "${CI_COMMIT_SHA}-ci.response" \
    -w %{http_code})
  # 判断本次上传到devops是否出错
  response_upload_to_devops=$(cat "${CI_COMMIT_SHA}-ci.response")
  rm "${CI_COMMIT_SHA}-ci.response"
  if [ "$result_upload_to_devops" != "200" ]; then
    echo $response_upload_to_devops
    echo "upload to devops error"
    exit 1
  fi
}

重写chart_build方法,然后执行一次流水线,看日志输出


这两个名称一致吗

这个得保持一致