首页 > 解决方案 > 如何为 Bitbucket Pipelines 的自定义基础映像配置缓存

问题描述

我有一个使用自定义 docker 映像作为基础的 Bitbucket 管道。将其从 ECR 中拉出。此外,我在第一步中使用此映像使用 make 命令构建 dockerized Go 应用程序。我想缓存在 make 构建过程中下载的 Go 模块。但是当我阅读这些示例时,人们正在使用 Go 基础图像来进行缓存工作。如何在使用 Go 映像本身以外的基本映像时激活缓存?我的管道的相关部分在下面,Go 缓存似乎不起作用。

image: 
name: <ECR Image>
  aws:  
    access-key: $AWS_ACCESS_KEY_ID 
    secret-key: $AWS_SECRET_ACCESS_KEY

definitions:
  caches:
  go: $GOPATH/pkg

pipelines:
 tags:
 '*-beta*'        
   -step: 
      name: "Image Build & Push" 
      services: 
        -docker 
      caches: 
        -go 
      script: 
        - export ENVIRONMENT=beta 
        - echo "Environment is ${ENVIRONMENT}" 
        - export DOCKER_IMAGE_BUILDER="${BITBUCKET_REPO_SLUG}:builder" 
        - make clean 
        - make build BUILD_VER=${BITBUCKET_TAG}.${BITBUCKET_BUILD_NUMBER} \  APP_NAME=${BITBUCKET_REPO_SLUG} \ 
            DOCKER_IMAGE_BUILDER=${DOCKER_IMAGE_BUILDER} 
        - make test

标签: gobitbucket-pipelinespipeline-cache

解决方案


推荐阅读