Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Openshift-获取pod或其部署应用程序版本的工件URL参数的API_Openshift_Openshift Origin_Openshift Client Tools_Openshift Enterprise - Fatal编程技术网

Openshift-获取pod或其部署应用程序版本的工件URL参数的API

Openshift-获取pod或其部署应用程序版本的工件URL参数的API,openshift,openshift-origin,openshift-client-tools,openshift-enterprise,Openshift,Openshift Origin,Openshift Client Tools,Openshift Enterprise,我想做的是制作一个web应用程序,在一个视图中列出Openshift中部署的每个应用程序的版本(版本的快速视图)。目前,我所看到的定位pod中部署的应用程序版本的唯一方法是envirorment视图中的ARTIFACT\u URL参数,这就是为什么我需要该参数,但如果有其他方法来获取pod及其当前部署的应用程序版本,只要我能通过API获得它,我也对这个选项持开放态度。也许我最终还需要一个端点来检索当前pod的列表 我研究了Openshift API,发现唯一对我有帮助的是,如果参数:id是我所认

我想做的是制作一个web应用程序,在一个视图中列出Openshift中部署的每个应用程序的版本(版本的快速视图)。目前,我所看到的定位pod中部署的应用程序版本的唯一方法是envirorment视图中的
ARTIFACT\u URL
参数,这就是为什么我需要该参数,但如果有其他方法来获取pod及其当前部署的应用程序版本,只要我能通过API获得它,我也对这个选项持开放态度。也许我最终还需要一个端点来检索当前pod的列表

我研究了Openshift API,发现唯一对我有帮助的是,如果参数
:id
是我所认为的,它会随着每次部署而变化,因此我需要不断修改它,这是不实际的。显然,我还需要一个端点来获取ID列表,或者在我请求
工件URL


谢谢

有一种方法可以做到这一点。看

列出环境变量

要在pod或pod模板中列出环境变量,请执行以下操作:

$oc env--列表[]

此示例列出了pod p1的所有环境变量:

$oc env pod/p1——列表


如果在Openshift之外没有持久的应用程序版本控制信息,我建议重新设计构建和部署

如果需要从运行的POD中获取应用程序版本(例如,如别处建议的使用
oc rsh
oc env
),则存在严重的再现性问题。Git应用于应用程序版本控制,所有应用程序构建和部署(即使在开发和测试环境中)都应完全自动化

在Openshift中,您可以在构建配置和部署配置中实现完全自动化


在Openshift之外,可以使用Jenkins(如果您有持久性存储来保存其设置,甚至可以在容器中运行)免费完成此操作。

作为一种快速解决方法,您还可以考虑:

oc descripe pods|grep ARTIFACT_URL

从所有pod中获取环境变量的值列表(此处:
ARTIFACT\u URL

只需使用“oc get pods”或第二次调用oc describe即可获得相应的pod名称列表:

oc描述吊舱| grep“名称:”


(注意过滤掉其他名称所需的8个空格:)

当然,您不需要重新编写oc客户机工具,您只需从bash脚本或python API()调用它,然后将输出传递给用户。。。?