我正在为一个大型企业数据仓库项目实施持续集成和持续交付。所有代码都驻留在 Google Cloud Repository 中,我可以设置 Google Cloud Build 触发器,以便每次将特定文件类型(Python 脚本)的代码推送到主分支时,Google Cloud 构建都会启动。
Python 脚本不构成应用程序。它们包含一个 ODBC 连接字符串和脚本,用于从源中提取数据并将其存储为 CSV 文件。Python 脚本将在安装了 AirFlow 的 Google Compute Engine VM 实例上执行。
因此,Python 脚本的部署非常简单: .py 文件只需从 Google Cloud 存储库文件夹复制到 Google VM 实例上的特定文件夹。没有真正要运行的传统构建,因为所有 Python 文件都是相互独立的,而不是应用程序的一部分。
我认为这真的很容易,但现在我已经用了几天的时间试图解决这个问题,但没有运气。Google Cloud Platform 提供了多个 Cloud Builders,但据我所知,没有一个可以完成这个简单的任务。使用 GCLOUD 也不起作用。它可以复制文件,但只能从本地 pc 复制到 VM,不能从源存储库复制到 VM。
我正在寻找的是一个 YAML 或 JSON 构建配置文件,用于将这些 Python 文件从源存储库复制到 Google Compute Engine VM 实例。
希望在这里得到一些帮助。
Google Cloud 存储库中的文件/文件夹不可直接访问(就像一个裸 git 存储库),您需要先克隆存储库,然后将所需的文件/文件夹从克隆的存储库复制到目标位置。
这可能是可以使用标准的Fetching dependencies
构建步骤克隆回购,但我不是100%,你的情况一定的了,因为你没有真正做一个编译:
steps: - name: gcr.io/cloud-builders/git args: ['clone', 'https://github.com/GoogleCloudPlatform/cloud-builders']
如果不是,您可能需要一个(或多个)自定义构建步骤。从创建自定义构建步骤:
自定义构建步骤是一个容器映像,Cloud Build 工作器虚拟机将其拉取并运行,并将您的源卷挂载到
/workspace
. 您的自定义构建步骤可以执行容器内的任何脚本或二进制文件;因此,它可以做容器可以做的任何事情。自定义构建步骤适用于:
从外部位置下载源代码或包
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句