Ho una ricetta da chef che utilizza un modello per generare e un documento xml. La posizione di quel documento sul file system non è importante; la posizione deve semplicemente essere passata a uno strumento da riga di comando che leggerà il file e lo userà per configurare un'applicazione. Il file xml non deve persistere oltre l'esecuzione del comando. Pertanto mi sembra che il file debba essere creato in una directory di file temporanei neutrale della piattaforma. C: \ Temp su Windows o/TMP sulla maggior parte delle macchine Nix. Lo chef fornisce un mezzo per creare file temporanei, rilevare la posizione del file temporaneo o comunque raggiungere l'obiettivo?Piattaforma in modo neutro per creare un file temporaneo in Chef Ricetta
risposta
Scommessa migliore: utilizzare Chef::Config['file_cache_path']
che viene utilizzato dallo chef per memorizzare i dati transitori. Vale a dire: template "#{Chef::Config['file_cache_path']}/myfile.xml" do
Sinistra (riformulato) dopo il commento in quanto ancora la pena di essere lì per uso generale:
Come da commento, la risorsa eseguire verrà eseguito in ogni caso, con questo ingresso al fine di garantire l'applicazione è configurato di conseguenza, il file deve essere presente solo quando viene eseguita la risorsa execute, per altri casi ciò che è sotto è da tenere presente.
Una delle idee chiave dietro lo chef è idempotenza, lo chef può correre 100 volte e fare le cose solo quando è necessario.
In questo caso, il modello verrà generato una volta e non cambierà mai a meno che non ci sia un cambio di parametro negli attributi.
In tal caso (il file risultante deve essere aggiornato), lo chef lo noterà, lo sostituirà e agirà di conseguenza con qualsiasi notifica definita su di esso.
- 1. Come creare un file std :: ofstream in un file temporaneo?
- 2. DRY all'interno di una ricetta Chef
- 3. Come si modularizza una ricetta dello Chef?
- 4. Utilizzo di una ricetta Chef per aggiungere più righe a un file di configurazione
- 5. Generare un file da una stringa senza dover creare un file modello in Chef?
- 6. Utilizzare un coltello per creare una nuova ricetta in un libro di cucina
- 7. Come creare un file di testo temporaneo in C++?
- 8. Il modo migliore per rinominare un file con lo chef
- 9. La ricetta di apt non verrà installata nella mia ricetta
- 10. ricetta chef - metodi di modulo non disponibili all'interno delle risorse
- 11. Come posso cambiare un file con Chef?
- 12. Vagrant/Chef-solo non funziona dopo l'esecuzione ricetta rvm :: vagabondo
- 13. Creazione di un file temporaneo in lua
- 14. Come creare un file temporaneo con shell portatile in modo sicuro?
- 15. Verifica se lo chef è in esecuzione come chef-solo
- 16. Posso interrogare l'altezza della finestra Safari di no-URL-mobile per dispositivi mobili in modo neutro rispetto alla piattaforma?
- 17. Scrittura su un file temporaneo in java
- 18. Salvataggio di un file temporaneo
- 19. Creare un java.io.File temporaneo dal byte []
- 20. Come scaricare un file temporaneo
- 21. Chef - Test per cookbook_file esistenza
- 22. Posizione corretta per salvare un file temporaneo in Windows?
- 23. Windows ha un filesystem virtuale o temporaneo in modo nativo?
- 24. Come creare un file temporaneo in java senza il numero casuale aggiunto al nome file?
- 25. possibile utilizzare gulp per creare un file zip e caricare senza utilizzare il file temporaneo?
- 26. Autorizzazione negata per scrivere sul file temporaneo
- 27. Modo portatile per determinare il separatore di linea della piattaforma
- 28. Come eseguire un file di script bash nello chef?
- 29. git: creare un ramo di integrazione "temporaneo"
- 30. Ricetta per la creazione di file Windows ICO con ImageMagick?
Sì, funziona. Riguardo all'idempotenza, punto inteso ma non pertinente all'attuale considerazione. Il comando in esecuzione è idempotente ed è importante che venga eseguito indipendentemente dal fatto che l'output del modello sia stato modificato o meno. Vogliamo assicurarci che l'app sia configurata secondo la ricetta e sovrascrivere qualsiasi modifica alla configurazione manuale che potrebbe essersi verificata. Tali modifiche manuali non innescherebbero una modifica di alcun file. –
Ok, ho modificato la risposta, lasciato alcune parti perché le trovo rilevanti per la risposta generica. – Tensibai