2017-08-02 17 views
0

我有3個yml文件0.yml,1.yml和2.yml。當我在yml上面有代碼時,Spiff無法正常工作

他們的內容如下。

0.yml

name: ((merge)) 
director_uuid: ((merge)) 
foo1: ((merge)) 

1.yml

<% 
    director_uuid = `bosh status --uuid 2>/dev/null`.strip 
%> 
--- 
name: service-fabrik 
director_uuid: <%= director_uuid %> 
foo1: ((merge)) 

2.yml

foo1: bar1 

如果我做SPIFF合併0.yml 1。 YM l 2.yml> 3.yml然後3.yml看起來像這樣。

foo1: bar1 

我希望它是這樣的:

name: service-fabrik 
director_uuid: jfheifefefif 
foo1: bar1 

但它不工作。如果我從1.yml刪除代碼部分

<% 
    director_uuid = `bosh status --uuid 2>/dev/null`.strip 
%> 

然後它正常工作。但我想要它。我如何使它工作?

回答

0

你混淆了兩種模板工具。 0.yml確實是spiff格式,但1.yml使用ERBspiffspiff不知道如何處理ERB,這就是爲什麼它不適合你。要解決此問題,您必須選擇一種模板樣式(spiffERB),將所有文件轉換爲正確的格式,並使用尊重引擎生成文件。我建議ERB超過spiff,因爲它有更好的記錄和強大。