【问题标题】:Is it possible to run cloud build using rest api with passing substitutions variables?是否可以使用带有传递替换变量的 rest api 运行云构建?
【发布时间】:2019-11-26 06:33:03
【问题描述】:


我正在尝试使用 rest api 运行 cloud build config.json。
我设法运行了一个简单的 config.json,但我的有替换变量,我希望在我的 rest api 请求中传递和替换。
有没有办法用rest api做到这一点? 我知道 gcloud 可以,但我不想使用它。

谢谢!

【问题讨论】:

    标签: rest google-cloud-platform gcloud google-cloud-build


    【解决方案1】:

    根据Substituting variable values 文档,要使用替换变量,您需要使用 gcloud 命令并使用 --substitutions 参数传递所有相应的值。

    如果您使用的是 REST API,您可能只是在创建 JSON 请求正文时解析这些变量,我不确定为什么需要替换变量。

    如果您不确定 API 的工作原理,我建议您查看Google’s API Explorer,它甚至会为您提供有关每个可用参数的提示。

    【讨论】:

    • 感谢您的回复。我的存储库中有一个 config.json,它正在创建整个 CD。我不想每次需要运行它时都对其进行编辑,因为我不是唯一使用它的人。每个开发人员都可以创建自己的环境,因此需要不同的参数。现在作为一种解决方法,我有一个函数可以执行可以接收参数的构建。
    • 除非您使用默认替换变量,否则您需要手动设置要使用的任何用户定义变量的值。我不确定您打算如何调用 API,但我能够使用 config.json 文件的结构创建一个生成 JSON 请求正文的脚本,并在调用 API 之前获取 _EXAMPLE_USER_VARIABLE 的值。这个例子GitHub link 运行一个简单的构建,它只打印我的用户定义变量的值。
    • 再次感谢。但我的问题是如何将 _EXAMPLE_USER_VARIABLE 的值从 curl 请求传递给 config.json。
    • 由于用户定义的变量需要您在“substitutions”参数中手动设置它们的值,因此无法使用静态 config.json 动态传递这些值,您可以将其用作模板,但需要在调用 API 之前构建请求正文的数据。如果您使用 bash,我之前发送的示例可能是一种解决方法,因为它是一个将 JSON 字符串存储在变量中的脚本,在使用 curl 命令调用 API 之前通过连接设置自定义值。
    猜你喜欢
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    相关资源
    最近更新 更多