0

我有一个 CloudBuildcloudbuild.yaml文件,它定义了将 GCE 映像以.vmdk格式导出到存储桶的任务。

    gcloud compute images export \
    --image=$IMAGE_NAME \
    --destination-uri=$DESTINATION_BUCKET/$VMDK_NAME \
    --export-format=vmdk \
    --network=$NETWORK \
    --subnet=$SUBNET \
    --project=$PROJECT_ID \
    --async

gcloud compute images export工作正常;该命令触发子 CloudBuild 进行转换并上传到 gcs。

新版本中没有标识“父”调用者的字段,这些字段为空: Provider, Source, Ref Commit, Trigger Id, Trigger Type, Trigger Name,Trigger Description

我如何识别这些子进程?

4

1 回答 1

0

有趣的问题。

我认为您可能无法执行此操作(请参阅下面的 Hack),因为没有用户可定义的元数据可以从父 Cloud Build 任务传递gcloud compute images export ...到子 Cloud Build 任务。

哈克我没试过这个!可能(!?)可以将来自 Cloud Build 的跟踪令牌注入到使用标志调用gcloud compute images export命令的步骤中。--trace-token您可以尝试(我没有尝试过)将此标志设置为gcloud compute images export ... --trace-token=${SOMETHING}可能使用父级的 Cloud Build ID 的值?这应该通过后续的 API 调用传递,并希望至少能到达子 Cloud Build。

我认为能够通过 Cloud SDK 命令传递任意元数据(标签?)是一个有用的功能请求。您应该考虑向 Google 的Cloud SDK 问题跟踪器提交请求

于 2021-05-19T17:55:10.720 回答