2017-08-07 130 views
0

有廚房,我試圖定義使用多行環境變量的屬性.kitchen.yml如:廚房.kitchen.yml多行環境變量

attributes: 
    foo: 
    ssh: 
     key_private: <%= ENV['CHEF_SSH_KEY_PRIVATE'] %> 

多線CHEF_SSH_KEY_PRIVATE變量是這樣的:

-----BEGIN RSA PRIVATE KEY----- 
... 
... 
-----END RSA PRIVATE KEY----- 

這種方法對於單行變量來說工作得很好,但是當使用多行變量時文件不能被分析。我懷疑「編譯」文件沒有正確的縮進,但我不能對變量直接設置縮進,因爲這可能需要不同的縮進級別其他YAML文件中使用。

我如何正確使用多行環境變量YAML沒有解析問題?

+1

將它足以存儲在變量單線雙引號的價值呢?像' 「--- BEGIN --- \ n ... \ n ... \ n --- END ---」' – flyx

+0

幹得好,工作的魅力感謝狀!我錯過了雙引號。如果你想發佈此解決方案作爲一個答案,我會接受它。 –

回答

3

您可以設置環境變量包含一個雙引號的單行字符串逃過換行,像

"-----BEGIN RSA PRIVATE KEY-----\n...\n...\n-----END RSA PRIVATE KEY-----" 

這是安全的,在一個YAML文件的任何位置,包括在內容節點預計。