问题描述
我们正在构建一种自动化,在其中我们称为IBM Cloud CLI命令以执行各种IBM Cloud部署和服务供应。自动化应用程序构建为已安装IBM Cloud CLI的容器。当所有命令和相应的API单独运行一次并且运行仅一次时,它们运行良好,但是在CLI级别对API的多次调用会发生冲突。
据我了解,这是因为在容器下方只能创建一个CLI会话。因为我只能按顺序运行整体自动化,所以这违背了自动化和创建其余API的目的。我想知道是否有任何方法可以为每个调用/ API调用创建不同的IBM Cloud CLI会话。
搜索时,确实发现CF CLI通过设置一些env变量并提供会话号来支持多个会话。想知道使用IBM Cloud CLI能否实现这种事情。
解决方法
要能够并行运行多个会话,您需要在每个会话中使用不同的环境。发出ibmcloud -h
时,您会看到以下选项:
IBMCLOUD_HOME =配置目录的路径/到/目录路径
为每个会话明确设置一个不同的配置目录。我成功测试了可以同时从同一本地(Linux)帐户使用不同的IBM Cloud帐户登录。
Env 1:
export IBMCLOUD_HOME=/home/myuser/.ibmcloudenv1
ibmcloud login
Env 2:
export IBMCLOUD_HOME=/home/myuser/.ibmcloudenv2
ibmcloud login