简单 Google 云部署:将 Python 文件从 Google 云存储库复制到应用引擎

Simple Google Cloud deployment: Copy Python files from Google Cloud repository to app engine

我正在为一个大型企业数据仓库项目实施持续集成和持续交付。 所有代码都驻留在 Google Cloud Repository 中,我能够设置 Google Cloud Build 触发器,以便每次将特定文件类型(Python 脚本)的代码推送到master 分支,Google 云构建开始。

Python 脚本不构成应用程序。它们包含一个 ODBC 连接字符串和脚本,用于从源中提取数据并将其存储为 CSV 文件。 Python 脚本将在安装了 AirFlow 的 Google Compute Engine VM 实例上执行。

因此 Python 脚本的部署非常简单:.py 文件只需从 Google 云存储库文件夹复制到 Google 虚拟机实例。 运行 并没有真正的传统构建,因为所有 Python 文件都是彼此独立的,而不是应用程序的一部分。

我原以为这会很容易,但现在我已经用了好几天的时间试图解决这个问题,但没有成功。 Google Cloud Platform 提供了多个 Cloud Builder,但据我所知,其中 none 个可以完成这个简单的任务。使用 GCLOUD 也不起作用。它可以复制文件,但只能从本地电脑复制到虚拟机,不能从源存储库复制到虚拟机。

我正在寻找的是 YAML 或 JSON 构建配置文件,用于将那些 Python 文件从源存储库复制到 Google Compute Engine VM 实例。

希望在这里得到一些帮助。

无法直接访问 Google 云存储库中的 files/folders(类似于 a bare git repository),您需要先克隆存储库,然后复制所需的 files/folders 从克隆的仓库到他们的目的地。

可能可以使用标准 Fetching dependencies 构建步骤来克隆存储库,但我不能 100% 确定你的情况,因为你实际上并没有在构建:

steps:
- name: gcr.io/cloud-builders/git
  args: ['clone', 'https://github.com/GoogleCloudPlatform/cloud-builders']

如果没有,您可能需要一个(或多个)自定义构建步骤。来自 Creating Custom Build Steps:

A custom build step is a container image that the Cloud Build worker VM pulls and runs with your source volume-mounted to /workspace. Your custom build step can execute any script or binary inside the container; as such, it can do anything a container can do.

Custom build steps are useful for:

  • Downloading source code or packages from external locations

    ...