Domanda

Ho problemi a ottenere Chef per scaricare un file che devo utilizzare in una ricetta da un server SVN.

subversion "download installer" do
  repository "http://svnrepourl/path/to/installer.msi"
  revision "HEAD"
  destination "C:\\chef-repo\\cookbooks\\common\\files"
  action :export
  svn_username "username"
  svn_password "password"
end
.

Ecco l'output della corsa CHEF-Client:

Compiling Cookbooks...
Converging 1 resources
Recipe: common::svntest
  * subversion[download installer] action export[2014-01-09T14:41:42-05:00] INFO
: Processing subversion[download installer] action export (common::svntest line
12)
 (up to date)
[2014-01-09T14:41:42-05:00] INFO: Chef Run complete in 1.482104 seconds
[2014-01-09T14:41:42-05:00] INFO: Running report handlers
[2014-01-09T14:41:42-05:00] INFO: Report handlers complete
Chef Client finished, 0 resources updated
.

Linea 12 è "Subversion" Scarica il programma di installazione "Do".Non super-utilizzo super - Non ho idea di cosa sta succedendo sotto il cappuccio qui.Non scarica il file ovunque sul mio sistema: la directory di destinazione è vuota.

Esecuzione di questo comando funziona bene:

svn export -r HEAD http://svnrepourl/path/to/installer.msi --username username --password password C:\chef-repo\cookbooks\common\files
.

Scarica con successo il file dal server e lo posiziona nella destinazione.Ora, posso solo scrivere questo comando in un blocco di esecuzione, ma mi piacerebbe fare questo lo chef modo.Come posso scaricare un file specifico da un repo svn su Windows?

È stato utile?

Soluzione

Sembra che questo sia un bug nello chef, documentato qui .

Per capire questo fuori ho corso chef-client -l debug > log.txt, che mi ha portato a queste linee:

[2014-01-10T09:35:00-05:00] INFO: Processing subversion[download installer] action export (common::svntest line 12)
[2014-01-10T09:35:00-05:00] DEBUG: subversion[download installer] export destination C:\chef-repo\cookbooks\common\files already exists or is a non-empty directory - nothing to do
.

Sembra che la risorsa di subversion dello chef richieda una directory vuota come destinazione (la destinazione che ho specificato nell'OP contiene una singola cartella).Si noti che questo è non il caso con il comando SVN Shell - sono stato in grado di esportare con successo in una directory non vuota con esso.

A questo punto, utilizzerò semplicemente una risorsa esecutiva per afferrare il file di cui ho bisogno e spero che Opscode si aggira per fissare questo bug di lunga data.

Speciale grazie alla comunità IRC chef.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top