【发布时间】:2017-06-30 11:30:59
【问题描述】:
我正在自动化一些使用 openshift 3.5 的持续交付流程。它们在命令行中运行良好,但我几乎找不到任何关于oc 命令如何映射到OCP REST API 的文档。我已经弄清楚如何与 API 对话并使用它直接提供的功能。比如我有一行:
oc process build-template -p APPLICATION_NAME=worldcontrol -n openshift | oc create -f - -n conspiracyspace
它从“openshift”命名空间中获取一个名为“build-template”的模板并对其进行处理,将生成的定义通过管道将一些对象(如应用程序映像)构建到另一个命名空间中。我会很感激一个如何用 http 请求术语表达的例子。
编辑
按照@Graham 的提示,这就是我得到的。第一个请求是获取模板的内容:
curl -k -v -XGET -H "User-Agent: oc/v3.5.5.15 (linux/amd64) openshift/4b5f317" -H "Authorization: Bearer ...." -H "Accept: application/json, */*" https://example.com/oapi/v1/namespaces/openshift/templates/build-template
然后显然oc客户端在内部扩展参数,并将结果输入POST:
curl -k -v -XPOST -H "Content-Type: application/json" -H "User-Agent: oc/v3.5.5.15 (linux/amd64) openshift/4b5f317" -H "Accept: application/json, */*" -H "Authorization: Bearer ...." https://example.com/oapi/v1/namespaces/openshift/processedtemplates
【问题讨论】:
标签: rest api automation openshift continuous-delivery