ci经常失败

gitlab-ci?

对的

image: registry.xxxx.com/pub/cibase:v1

stages:
  - sonar_analyze
  - build_publish


sonar_analyze:
  stage: sonar_analyze
  script:
    - sonar-scanner -Dsonar.projectKey=operation-xx:hospital -Dsonar.sources=. -Dsonar.host.url=http://sonarqube.xxxx.com -Dsonar.login=66a4b9b95bcddd0689701d9c86dfbb46a375aaa2967ea1 -Dsonar.java.binaries=.
  only:
    - test

build_publish:
  stage: build_publish
  script:
    - gradle -b build.gradle clean build || sleep 30 && gradle -b build.gradle clean build
    - mkdir -p /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
    - cp build/libs/app.jar /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}/app.jar
    - docker_build
    - chart_build
  only:
    - master
    - test
    - dev

.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
    cat .auto_devops.sh
    source .auto_devops.sh
    function docker_build(){
        cp /cache/${CI_PROJECT_NAME}-${CI_PROJECT_ID}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}/app.jar ${1:-"docker"}/app.jar || true
        docker login -u ${DOCKER_USER} -p ${DOCKER_PWD} ${DOCKER_REGISTRY}
        docker build --pull -t ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG} ${1:-"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
  

没什么特别的

应该问题还是在这几行,这几行拿到本地执行看看?(url里面的变量记得替换)

我在外面执行 是没啥问题的,每次请求 都能下载到 脚本

那你把 .gitlab-ci.yml 换成官方的ci镜像看看问题一样吗?

一样的,


不过为什么这里显示是 “docker” executor?
正常执行的日志如下,压根不会出现docker executor

哪里错乱了吗?

@TimeBye 大佬帮忙看看

是我的问题。。。 我很早前注册了一个 docker runner,但被废弃了。。。。,现在删除了

然后问题就解决了?

是的 。。。,一部分的ci被调度哪个 runner上去处理了,那个runner是有问题的

好的,解决了就好