cloudbase-framework icon indicating copy to clipboard operation
cloudbase-framework copied to clipboard

基于Coding使用CloudBase Framework的技巧:上传官方镜像到制品库以提高构建效率

Open Guo-Zhang opened this issue 4 years ago • 1 comments

官方对于CI流程的说明文档:https://docs.cloudbase.net/framework/ci.html。

个别时候可能会因为Docker Hub在大陆节点不稳定而导致构建异常,我这里做了一个CI用来拉取官方镜像到自己的制品库里。Jenkinfile如下:

pipeline {
  agent any
  stages {
    stage('拉取Docker Hub镜像') {
      steps {
        script {
          docker.image("$DOCKER_REGISTRY_NAME/$DOCKER_IMAGE_NAME:$DOCKER_TAG_NAME").pull()
        }

      }
    }
    stage('推送到制品库') {
      steps {
        script {
          sh "docker tag $DOCKER_REGISTRY_NAME/$DOCKER_IMAGE_NAME:$DOCKER_TAG_NAME quanttide-docker.pkg.coding.net/$PROJECT_NAME/$DOCKER_REGISTRY_NAME/$DOCKER_IMAGE_NAME"
          docker.withRegistry("https://$CCI_CURRENT_TEAM-docker.pkg.coding.net/$PROJECT_NAME/$DOCKER_REGISTRY_NAME", "$CODING_ARTIFACTS_CREDENTIALS_ID") {
            sh "docker push $CCI_CURRENT_TEAM-docker.pkg.coding.net/$PROJECT_NAME/$DOCKER_REGISTRY_NAME/$DOCKER_IMAGE_NAME"
          }
        }

      }
    }
  }
}

需要用户填写三/四个环境变量:

  • DOCKER_REGISTRY_NAME: tencentcloudbase,镜像仓库名称,需要在构建计划同项目下创建一个和Docker Hub镜像仓库同名的Docker制品库。
  • DOCKER_IMAGE_NAME: cloudbase-framework-runner,镜像名称。
  • DOCKER_TAG_NAME: latest,镜像版本名称。
  • CCI_CURRENT_TEAM: <your-company-name-for-coding>, Coding企业名称,这个环境变量目前是即将上线状态,请开发者在没上线之前自行填写,详见:https://help.coding.net/docs/ci/env.html。

如果开发者想根据自己需求定制,可以对模板进行修改,再次不再赘述。

推荐开发者调试通过以后保存成团队构建计划以方便复用。

Guo-Zhang avatar May 15 '21 13:05 Guo-Zhang

👍,感谢建议

binggg avatar May 17 '21 02:05 binggg