Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单的Google云部署:将Python文件从Google云存储库复制到app engine_Python_Google Cloud Platform_Google Cloud Build_Google Cloud Repository - Fatal编程技术网

简单的Google云部署:将Python文件从Google云存储库复制到app engine

简单的Google云部署:将Python文件从Google云存储库复制到app engine,python,google-cloud-platform,google-cloud-build,google-cloud-repository,Python,Google Cloud Platform,Google Cloud Build,Google Cloud Repository,我正在为一个大型企业数据仓库项目实施持续集成和持续交付。 所有代码都驻留在谷歌云存储库中,我可以设置谷歌云构建触发器,这样每当特定文件类型(Python脚本)的代码被推送到主分支时,谷歌云构建就会启动 Python脚本并不构成应用程序。它们包含ODBC连接字符串和脚本,用于从源中提取数据并将其存储为CSV文件。Python脚本将在安装了AirFlow的Google Compute Engine VM实例上执行 因此Python脚本的部署非常简单:只需将.py文件从Google Cloud rep

我正在为一个大型企业数据仓库项目实施持续集成和持续交付。 所有代码都驻留在谷歌云存储库中,我可以设置谷歌云构建触发器,这样每当特定文件类型(Python脚本)的代码被推送到主分支时,谷歌云构建就会启动

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

因此Python脚本的部署非常简单:只需将.py文件从Google Cloud repository文件夹复制到Google VM实例上的特定文件夹。实际上并没有一个传统的构建来运行,因为所有Python文件都是彼此独立的,而不是应用程序的一部分

我原以为这真的很容易,但现在我已经用了好几天的时间试图弄明白这一点,但没有运气。 谷歌云平台提供了几个云建设者,但据我所知,他们中没有一个能完成这个简单的任务。使用GCLOUD也不起作用。它可以复制文件,但只能从本地pc复制到VM,不能从源存储库复制到VM

我要找的是一个YAML或JSON构建配置文件,用于将这些Python文件从源存储库复制到Google Compute Engine VM实例


希望能得到一些帮助

谷歌云存储库中的文件/文件夹无法直接访问(就像),您需要先克隆repo,然后将所需的文件/文件夹从克隆的repo复制到它们的目标

也许可以使用标准的构建步骤来克隆repo,但对于您的情况,我不是100%确定,因为您实际上没有进行构建:

如果没有,您可能需要一个(或多个)自定义构建步骤。发件人:

自定义构建步骤是云构建工作人员创建的容器映像 VM在源卷装载到
/workspace
的情况下拉取并运行。 您的自定义构建步骤可以在 容器;因此,它可以做容器可以做的任何事情

自定义生成步骤对于以下情况非常有用:

  • 从外部位置下载源代码或包


谢谢我将以此作为答案。我希望有一个更简单的解决办法。现在就去找Docker解决这个问题。唉,我这样解决了这个问题:创建了一个单独的Google计算引擎VM,每小时运行一个cron脚本。该脚本从源存储库进行git克隆,并使用gsutil rsync命令将代码推送到Google云存储(GCS)。15分钟后,在VM上部署脚本,执行另一个脚本,使用gsutil rsync将文件从GCS复制到内部驱动器。它工作得很好。
steps:
- name: gcr.io/cloud-builders/git
  args: ['clone', 'https://github.com/GoogleCloudPlatform/cloud-builders']