问题描述
我有一个 Google 源代码库,它反映了我的私有 Github 代码库,其中包含 Python 包的代码。我还有一个 Cloud Run 实例,我想在其中安装这个私有 Python 库。我该如何在 cloudbuild.yaml
或 Dockerfile
中执行此操作?
解决方法
Cloud Source 存储库是一个 Git 存储库。因此,如果您想从那里获取源代码(您的私人库),只需克隆存储库(头部,或特定标签/提交 sha)。
您不能使用 pip install
命令,因为您需要安装专用的 pipy 服务器来实现此目的。如果你有这个,获取凭据并请求它!
这是原则。那么如何在 Cloud Build 或 Docker build 中实现这一点。
IMO,最简单的是在 Cloud Build 管道中。加载符合 GIT 的映像(例如 gcr.io/cloud-builders/git
)并关闭您的 Cloud Source 存储库。我建议执行此步骤,因为您可以使用 Cloud Build 身份验证上下文登录到 Cloud Source 代码库。
然后,在您的 Dockerfile 中,复制您的所有环境(您的代码和包含下载库的 venv)。额外的公共库可以根据需要在 Dockerfile 或 Cloud Build 中下载。