2017-03-03 75 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