MSBuildのためのSFTPタスク?
-
23-08-2019 - |
質問
誰もがMSBuildのためのSFTPタスクを知っていますか?私たちは、生産に私たちの展開を自動化したいのですが、セキュリティ上の理由から、私たちは、生産への私たちの開発/テスト/構築環境からのSMBファイル共有へのアクセスを許可していません。
今、開発者が手動でSFTP接続を介して、FileZillaをを使用してファイルをアップロードして、コードを展開します。これはかなりエラーが発生しやすいので、我々はSFTPのアップロードを自動化することを計画しています。同じように、セキュアになりSFTP以外のいくつかのメカニズムがありますならば、私の代わりにそれを使用させていただきますけれどもます。
私はちょうどそのようなPSCPとして「幹部」のMSBuildタスク、およびコマンドラインのFTPクライアントを使用してと思っています。誰かがSFTPタスクすでに組み込まれている場合しかし、それはもちろん素晴らしいことです。
おかげで、
リチャード
解決
は、WinSCPのをインストールして、ちょうどの Execのタスクを使用することができますP>
私は、ビルドした後、サーバーにISOファイルをアップロードするには、次のようなものを使用します。
winscp.exe sftp://root:password;@192.168.0.200:22/uploaddir/ "c:\myfile.iso"
他のヒント
龍が行われ、WinSCPのを使用しているように、私は通常、丁度行う、しかし、私はさらに一歩それを取ると、よりカスタマイズ可能な展開をマッピングするためのWinSCPのスクリプト機能を使用します。
私は完全なセットアップの詳細をブログの記事でこれを詳しく説明しました。
ます。http:// www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deploymentする
ただし、次のようにそれの基本的な要点は、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のにも<のhref = "HTTPからこれをサポートしています.ORG /コマンドline_arguments_(クライアント)」のrel = "nofollowをnoreferrer">コマンドラインでます。
パテをインストールし、サーバーにファイルをSFTPするコマンドラインツールを使用しています。ハードコーディングするか繰り返してパスワードを入力して避けるようにpagentとキーを使用します。
.NETベースのSSHツールの多くは、(独自に作成)またはccnetタスク1を取るとのMSBuildタスクを使用して、それを包む、あります。
MSBuildのからANTスクリプトを呼び出すことができた場合、Antは、SCPのタスクを持っています。どんな場合は、暗号化のための強力な公開鍵/秘密鍵を使用します。
edtFTPnet / PRO には、.NETでSFTPのためのフルサポートを提供しています。
あなたがコピーを購入することに興味がある場合は、私たちはあなたのためのMSBuild SFTPタスクを記述させていただきます - それは便利な機能だろう。サイト上の連絡先の詳細ます。