我收到了一个由许多 s 构建的项目,这些Makefile
s 运行许多docker
命令。我想在 Cloud Build 上构建它。
我知道 Cloud Build 原生处理 Docker,但必须使用现有的 Makefile 结构。
我尝试了 make Custom Build 步骤,但 Cloud Build 由于缺少docker
and 而失败kubectl
。所以我可以将这些添加到Dockerfile
make Custom Build 步骤中,但这似乎是错误的,因为然后 make运行 Docker-in-Docker 并且这会导致问题——例如,gcloud
权限kubectl
和上下文丢失。
作为这样一个 Makefile 的一小部分,这里有一个目标,它调用docker build
和docker push
.
build/myapp/deployer: ...
docker build \
--build-arg REGISTRY="$(REGISTRY)/myapp" \
--tag "$(APP_DEPLOYER_IMAGE)" \
-f deployer/Dockerfile \
.
docker push "$(APP_DEPLOYER_IMAGE)"
@touch "$@"
如何在 Cloud Build 中运行这些 Makefile?