我想使用python脚本在云构建步骤中通过python脚本内的subprocess.check_call()
调用gsutil
,从Google存储下载几个文件
因此,我在cloudbuild.yaml
中使用以下步骤:
- name: 'gcr.io/cloud-builders/gsutil'
entrypoint: 'bash'
args: ['-c',
'pip install google-cloud-storage && python /path_to_script/script.py --arg1 $_ARG1 --arg2 $TAG_NAME --arg3 $BRANCH_NAME --arg4 $_ARG4'
]
但是云构建抛出了一个奇怪的SyntaxError: invalid syntax
Python错误。我可以使用相同的参数在本地运行相同的Python脚本,也可以通过使用python:3.7-sim
在云构建中使用该语法错误运行相同的Python脚本:
- name: 'python:3.7-slim'
entrypoint: /bin/sh
args: ['-c',
'pip install google-cloud-storage && python python /path_to_script/script.py --arg1 $_ARG1 --arg2 $TAG_NAME --arg3 $BRANCH_NAME --arg4 $_ARG4'
]
后面的示例一直工作到调用gsutil
,因为它不是python:3.7-slim
容器的一部分(因此是预期的行为)
关于gcr.io/cloud-builders/gsutil
为什么抛出这个错误,有什么有用的评论吗?入口点是否指定错误
通过调用专用的
gsutil
映像并结合通配符来完成类似于python脚本中的过滤,我找到了一个更简单的解决方案。 请参见下面的简化示例:这对我来说真的很好
相关问题 更多 >
编程相关推荐