سؤال

أواجه مشكلة في إقناع الشيف بتنزيل ملف أحتاج إلى استخدامه في الوصفة من خادم 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

هنا هو إخراج تشغيل الشيف العميل:

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

السطر 12 هو "تخريب" تنزيل المثبت "القيام به".لم يكن الناتج مفيدًا للغاية - ليس لدي أي فكرة عما يحدث تحت الغطاء هنا.لا يقوم بتنزيل الملف في أي مكان على نظامي - دليل الوجهة فارغ.

تشغيل هذا الأمر يعمل بشكل جيد:

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

يقوم بتنزيل الملف من الخادم بنجاح ويضعه في الوجهة.الآن، يمكنني فقط كتابة هذا الأمر في كتلة تنفيذ، ولكني أرغب في القيام بذلك بطريقة الشيف.كيف يمكنني تنزيل ملف معين من SVN repo على نظام التشغيل Windows؟

هل كانت مفيدة؟

المحلول

يبدو أن هذا خطأ في الشيف، موثق هنا.

من أجل معرفة هذا ركضت chef-client -l debug > log.txt, مما قادني إلى هذه السطور:

[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

يبدو أن مورد التخريب الخاص بـ Chef يتطلب دليلاً فارغًا كوجهة (الوجهة التي حددتها في OP تحتوي على مجلد واحد).لاحظ أن هذا لا حالة أمر svn Shell - تمكنت من التصدير بنجاح إلى دليل غير فارغ باستخدامه.

في هذه المرحلة، سأستخدم ببساطة مورد التنفيذ للحصول على الملف الذي أحتاجه، وآمل أن يتمكن Opscode من إصلاح هذا الخطأ الذي طال أمده.

شكر خاص لمجتمع Chef's IRC.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top