سؤال




هل يعرف أحد بمهمة SFTP ل Msbuild؟ نود أتمتة عمليات نشرنا على الإنتاج، ولكن لأسباب أمنية لا نسمح بوصول مشاركة ملفات SMB من بيئة Dev / Test / Build إلى الإنتاج.

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

أنا أفكر في استخدام مهمة MSBUILD "EXEC"، وعميل FTP لسطر الأوامر مثل PSCP. ولكن إذا قام شخص ما ببناء مهمة SFTP بالفعل، فمن المقرر أن يكون ذلك رائعا.


شكرا،
ريتشارد

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

المحلول

يمكن تثبيت WinSCP واستخدم فقط MSBUILD مهمة exec.

لقد استخدمت شيئا مثل ما يلي لتحميل ملف ISO إلى خادم بعد الإنشاء.

winscp.exe sftp://root:password;@192.168.0.200:22/uploaddir/ "c:\myfile.iso"

نصائح أخرى

عادة ما أفعل تماما كما فعلت Ryu واستخدم WinSCP، ومع ذلك أخطو خطوة واحدة وتستخدم إمكانيات النص البرمجة النصية WinSCP لتعيين نشر أكثر قابلية للتخصيص.

لقد قمت بالتفصيل هذا في منشور مدونة تتفاصيل الإعداد الكامل:

http://www.diaryofaninja.com/blog/201/201/2/2/2/2/Continuous-TIP-Tip-1-NDash-ftp-deplact.

ومع ذلك، فإن الفتح الأساسي منه يمر في ملف نصي إلى WinSCP كما يلي:

<Target Name="AfterBuild">
<!-- Set the path to your FTP program (winscp) -->
<PropertyGroup>
    <PathToWinSCP>"C:\Program Files (x86)\WinSCP\winscp.exe"</PathToWinSCP>        
</PropertyGroup>
<!-- Get the date as a string for our log filename-->
<GetDate Format="yyyyMMdd">
    <Output PropertyName="DateString" TaskParameter="Date"/>
</GetDate>
<!-- Convert the path to an absolute path -->
<ConvertToAbsolutePath Paths="$(OutputPath)">
    <Output TaskParameter="AbsolutePaths" PropertyName="OutputPath"/>
</ConvertToAbsolutePath>
<!-- Fire WinSCP and give it your script files name 
    as well as passing it the parameter to this build -->
<Exec Command="$(PathToWinSCP) /script=$(OutputPath)Deployment\FtpDeployment.config /parameter $(OutputPath) /log=$(OutputPath)FtpLog-$(DateString).txt" />
</Target> 

ويشبه البرنامج النصي:

option batch abort
option confirm off

open ftp://myUsername:myPassword@ftp.myftpsite.com

put %1%\*

rm FtpDeployment.config

exit 

filezilla. يدعم أيضا هذا من سطر الأوامر.

قم بتثبيت المعجون واستخدم أدوات Commandline إلى SFTP ملفاتك إلى الخادم. استخدم المعروفة والمفاتيح لتجنب الصغار أو كتابة كلمة المرور الخاصة بك بشكل متكرر.

هناك الكثير من أدوات SSH المستندة إلى .NET، خذ واحدة واغلفها باستخدام مهمة MSBUILD (إنشاء مهمة خاصة بك) أو مهمة ccnet.

يحتوي النملة على مهمة SCP، إن أمكن استدعاء البرنامج النصي نمامل من MSBUILD. أيا كانت الحالة استخدم مفتاح قوي / خاص قوي للتشفير.

edtftpnet / برو يقدم الدعم الكامل ل SFTP في .NET.

إذا كنت مهتما بشراء نسخة، فسنكون سعداء بكتابة مهمة MSBUILD SFTP لك - فسيكون ذلك ميزة مفيدة. تفاصيل الاتصال على الموقع.

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