2016-05-06 5 views
2

Ich bin in der Lage, eine einzelne Datei aus dem Chef Kochbuch hinzufügen:Wie wird die Datei cookbook_file in die for loop gestellt?

cookbook_file '/tmp/File1' do 
    source 'default/File1' 
    owner 'jenkins' 
    group 'jenkins' 
    mode '0755' 
end 

Wie kann ich File1, File2, File3 eine for-Schleife? Ich ging durch Chef Docs, es ist hilflos und verwirrend.

+0

Möchten Sie eine Datei löschen oder erstellen? Ist Ihnen die Semantik des 'default /' -Verzeichnisses unter den Verzeichnissen 'files /' und 'templates /' eines Kochbuchs bekannt? Wenn die Quelldatei gefunden wird, ignorieren Sie sie. Wenn nicht, dann entferne das 'default /'. – StephenKing

+0

Ich habe die Syntax geändert. Danke –

+0

Okay. Ich habe die 'action: create' entfernt. Das ist der Standard und somit überflüssig. – StephenKing

Antwort

4

Das ist, wo Sie gerade Ruby-Code verwenden (und wahrscheinlich auch, das ist der Grund, warum Koch docs decken nicht, dass so viel):

['File1', 'File2', 'File3'].each do |file| 
    cookbook_file "/tmp/#{file}" do 
    source "default/#{file}" 
    owner 'jenkins' 
    group 'jenkins' 
    mode '0755' 
    end 
end