docker build 失败

  • Choerodon平台版本:0.18.0

  • 运行环境:自主搭建

  • 问题描述:docker build 失败,前面的maven-test-docker的步骤已经通过

你好,麻烦提供.gitlab-ci.yaml 文件,否则无法定位问题。

image: registry.cn-hangzhou.aliyuncs.com/choerodon-tools/cibase:0.5.0

stages:
  - mvn-package
  - docker-build

maven-test-branches:
  stage: mvn-package
  script:
    - git_merge develop
    - mvn package -U -DskipTests=true
  only:
    - branches
  except:
    - master
    - tags
    - develop
    - /^release-.*$/
    - /^hotfix-.*$/

maven-test-docker:
  stage: mvn-package
  script:
    - update_pom_version
    - mvn package -U -DskipTests=false
    - mkdir -p /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
    - cp target/app.jar /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}/app.jar
  only:
    - tags
    - master
    - /^release-.*$/
    - /^hotfix-.*$/

docker-build:
  stage: docker-build
  script:
    - docker_build
    - chart_build
  only:
    - tags
    - master
    - /^release-.*$/
    - /^hotfix-.*$/

.auto_devops: &auto_devops |
  curl -o .auto_devops.sh \
      "${CHOERODON_URL}/devops/ci?token=${Token}&type=microservice"
  if [ $? -ne 0 ];then
    cat .auto_devops.sh
    exit 1
  fi
  source .auto_devops.sh
  function docker_build(){
      docker login -u "$DOCKER_USER" -p "$DOCKER_PWD" $DOCKER_REGISTRY
      cp /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}/app.jar ${1:-"src/main/docker"}/app.jar || true
      docker build --pull -t ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG} ${1:-"src/main/docker"}
      docker push ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG}
      rm -rf /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
  }

before_script:
  - *auto_devops

gitlab 的runner 如果没有挂载卷的话,每一个job 之间是不会共享文件的。

请确认这个路径已经绑定到runner上。

/cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}

请问这个路径有没有绑定到runner上怎么查看
我这边是做了NFS存储的

我在nfs存储服务里看c7n-system-gitlab-runner-cache-pvc 文件夹里面是空的,cache执行完了会自动删除么?还是我这儿有问题

可以参考下文档安装
http://choerodon.io/zh/docs/installation-configuration/steps/install/parts/gitlab-runner/

gitlab Runner 在一键安装中应该已经包含了吧
我需要重新安装还是可以修改env.persistence.runner-cache-pvc 的配置?

我看了缓存的PV和PVC 都是有的

查看了gitlab-runner 的pod describe

可以在运行ci 时,查看下对应pv 绑定的nfs 上有没有具体创建文件

您好,在运行ci时,有创建具体的文件

你重新跑一下 Pipeline

在gitlab-ci 重新开了管道去执行,docke build 执行成功了。
不知道这是为什么?:thinking: