9




msbuild の SFTP タスクを知っている人はいますか? 運用環境への展開を自動化したいと考えていますが、セキュリティ上の理由から、開発/テスト/ビルド環境から運用環境への SMB ファイル共有アクセスを許可していません。

現在、開発者は SFTP 接続を介して FileZilla を使用してファイルを手動でアップロードすることにより、コードをデプロイしています。これは非常にエラーが発生しやすいため、SFTP アップロードを自動化する予定です。ただし、SFTP 以外に同じくらい安全なメカニズムがあれば、喜んでそれを使用します。

「exec」msbuild タスクと、pscp などのコマンドライン ftp クライアントのみを使用することを考えています。しかし、誰かがすでに sftp タスクを構築している場合、もちろんそれは素晴らしいことです。


ありがとう、
リチャード

4

6 に答える 6

6

私は通常、Ryuが行ったように正確に実行し、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 
于 2010-09-21T23:09:36.727 に答える
6

WinSCP をインストールして、MsBuild Exec Taskを使用するだけでよい

次のようなものを使用して、ビルド後に ISO ファイルをサーバーにアップロードしました。

winscp.exe sftp://root:password;@192.168.0.200:22/uploaddir/ "c:\myfile.iso"
于 2009-09-30T18:11:43.540 に答える
2

FileZillaは、コマンド ラインからもこれをサポートします。

于 2009-11-05T11:15:16.050 に答える
0

多くの .net ベースの SSH ツールがあります。そのうちの 1 つを取り、msbuild タスク (独自に作成) または ccnet タスクを使用してラップします。

Ant には scp タスクがあり、可能であれば msbuild から ANT スクリプトを呼び出します。いずれにせよ、暗号化には強力な公開/秘密鍵を使用してください。

于 2011-09-06T08:38:16.593 に答える
0

putty をインストールし、コマンドライン ツールを使用してファイルをサーバーに sftp します。pagent とキーを使用して、ハードコーディングやパスワードの繰り返し入力を避けます。

于 2009-10-30T12:03:04.160 に答える