我有一个使用自定义 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