2017-03-03 64 views
0

目前,我可以使用CLI连接到云代工厂。但我想知道是否可以通过推送一个txt文件连接到云代工厂。如何通过推送txt文件连接到云代工厂?

命令行

$ cf login -a https://api.example.com -u [email protected] 
API endpoint: https://api.example.com 

Password> 
Authenticating... 
OK 

Select an org (or press enter to skip): 
1. example-org 
2. example-other-org 

Org> 1 
Targeted org example-org 

Select a space (or press enter to skip): 
1. development 
2. staging 
3. production 

Space> 1 
Targeted space development 

TXT文件

就在这里,我试图创建一个txt文件上面,这样所有的凭据,我没有去通过命令行来获得进入我的组织和空间。我不确定这是否可能,但我一直在浏览github回购站,并发现这一点。

CF_DOMAIN=dev.app.cloud.example.com 
CF_TARGET=api.${CF_DOMAIN} 
CF_ORG=example-org 
CF_SPACE=development 
CF_APP_NAME=Push-This-File 
CF_CONFIG_SERVER=config-server-test 

//Looks like User and password and build are being called in from somewhere 
# CF_USER, CF_PASSWORD, and CF_BUILD are required to be set by the CI build 
CF_BUILD=${CF_BUILD:-${PIPELINE}} 

发现

我发现config.json的.cf文件夹下,可以节省您的所有投入。我想我试图尝试应该是这个文件simliar?

+0

为什么不只是创建一个脚本(或cf插件,如果你想变得有趣)为你做这个?你可以称之为'my-cf-login'或类似的东西。该脚本会读取您的设置,并负责调用正确的cf cli命令来登录。无论何时需要登录,只需运行该脚本即可。作为一个附注,你真的不应该把你的凭证留在系统上(在脚本或文本文件中)。这是不安全的,这就是为什么cli不像@dkoper解释的那样做这个事情。 –

回答

2

cf CLI不使用任何这些环境变量。
~/.cf/config.json文件存储一些“会话”变量,包括您的目标组织和空间,访问和刷新令牌。它不存储您的密码。所以当您的刷新令牌过期时,您将不得不再次登录。
config.json文件的格式没有发布,可能会随着任何CLI升级而改变,但它是开源的,所以没有阻止你尝试编辑它。

如果您当前的刷新令牌过期满足您的需求,您可以考虑获取长寿命的刷新令牌。这需要管理员权限给UAA。
首先,您将使用uaac工具来添加OAuth客户端,并为其获取刷新令牌。然后,您可以将新客户端的ID和密码以及刷新令牌添加到CLI的config.json中。有关详细信息,请参阅here

+0

它看起来类似于config.json文件。我试图弄清楚文本文件实际上在做什么。没有特别试图创建一个config.json文件。我以为github上的用户正在使用此文件连接云代工厂,而无需手动输入凭据。 – Jesse

+0

如果我还没有回答你的问题,你可以重新提示,也可以在github上包含一个指向你所指的文件的链接? – dkoper

+0

这是一个私人github。用户有这个cfenv文件和一个generic.yml。我只是想了解它的目的。他的cfenv文件与我发布的完全一样。 – Jesse