質問
ASP.NETアプリの展開/ビルドプロセスを改善するために、 .bat
を作成して
- リリースモードで現在のソリューションを構築します
-
xcopy
リモートサーバーへのファイル
コマンドラインからリリースビルドを作成するのは簡単です。
しかし、どのようにしてファイルをリモートサーバーにxcopyできますか?
リモート接続先をネットワークドライブにマップする必要があると思います(?)。ただし、サーバー上のフォルダーのファイル共有を有効にしているにもかかわらず、リモートサーバーに接続できませんでした。ファイアウォールがリクエストをブロックしているのでしょうか?どのポートを開く必要がありますか?または別の解決策がありますか?
編集
これまでのすべての回答に感謝しますが、サーバー上でフォルダー共有をセットアップする方法について、段階的なガイドが必要になる可能性があります。フォルダーを共有し、サーバーに接続できるようにポート445を開きましたが、ネットワークパスをシステムドライブにマップするためにローカルマシンからサーバーに接続できません。
解決
ASP.Netサイトを展開しているため、Windows環境にいると想定しています(賢くないですか?:))。
そう ! .batを忘れて、 POWERSHELL にアクセスしてください!
とにかく、これはあなたの質問のポイントではありません... リモートフォルダーにコピーするには、リモートコンピューターでコピーする権限が必要です。
ローカルコンピューターとリモートコンピューターに同じアカウントがあるかどうかを確認します。 たとえば、ドメイン「Work」でローカルコンピューターにログオンしている場合、ログイン" Pipo"で、このアカウントにリモートコンピューターの特別なフォルダーに書き込む権限を与える必要があります。
フォルダ、セキュリティオプションを右クリックして正しいIDを選択すると、これを実現できます。
ステップバイステップガイドは次のとおりです。
他のヒント
UNCパスを介してXCOPYでファイルを移動する価値があるかもしれません
\\ machine \ folder
そのためには、元のサーバーからフォルダーにアクセスする必要があります。フォルダーが共有されていること、および関連する読み取り/書き込み権限が付与されていることを確認します。
サーバーがローカルネットワーク上にある場合、 xcopy
の代わりに robocopy
を使用することをお勧めします-エラー時に再試行するためのより多くの便利なオプションと機能があります。 UNC名をうまく処理します( xcopy
も同様です)。私はそれが新しいWindowsクライアントで利用できると思う-それがあなたのマシンGoogleにない場合は、さまざまなリソースキットのダウンロードで利用可能だ(MicrosoftがOSディストリビューションに含めるかどうか、Microsoftがそれを含めたのはいつかはわからない長い間、ユーティリティキットに入れていました。
サーバーがローカルでない場合、コマンドラインFTPクライアントをスクリプト化して転送を実行できます。追加の柔軟性またはセキュリティが必要な場合は、 WinSCP など、他の多くのファイル転送オプションがあります。
もちろん、どちらの場合(ローカルまたはリモートサーバー)でも、サーバーのアクセス許可と認証を適切に設定して、機能する機会を得る必要があります。
任意のUNCパスを使用できます: \\ machine \ sharedFolder
。共有フォルダを設定したくない場合は、$記号を使用してマシン上の任意のドライブを参照できます: \\ machine \ c $ \ program files \ etc
。マシンがActive Directoryにある場合、または同じユーザー名とパスワードを持つローカルマシンがターゲットマシンにある場合、Windowsは認証をシームレスに処理します。
解き放ちましたか?
http://www.eworldui.net/unleashit/
ネットワーク間でファイルを移動したり、ビルド前のbatファイルを実行したり、ファイルマスキングなどを行うことができます。
以前は.net 1.1プロジェクトで使用していました。
あなたが欲しいと思う:
XCOPY c:\myproject\build\*.* \\server\\build\ /S /E
上記のすべては壮大な答えのようです-あなたはmsbuildスクリプトとmsbuildコミュニティタスクを使用してこれをすべて行うことができます-彼らはあなたのビルドをzipしてリモートサーバーにftpすることができます。
サイトの1つに対してこれを設定し、頭を動かすのに数時間かかりましたが、リリースでサイトを構築し、実稼働用の構成ファイルを更新し、不要なファイルを削除してから、アップロードします。
ここで非常に多くの答えを探した後の解決策です
"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"