2017-06-23 27 views
0

私はVSTSオンラインビルドおよびリリースプロセスを使用します。私はそれらの間にファイアウォールを持つ2つのサーバーを持っています(サーバー間でファイルを移動するためにServer1でスクリプトを実行するだけではありません)。私は両方のサーバーにVSTSエージェントをインストールし、各サーバーはVSTS内の独自のプールに割り当てられています。私はいずれかの問題を出すことなくいずれかのサーバーにリリースすることができます。VSTS Online - エージェントマシンからVSTSにファイルをコピー

1つのプール内のエージェントからVSTSのリリース作業ディレクトリ/ tempパス(またはあるプールから別のプールに直接アクセスすることもできます)にファイルをコピーするにはどうすればよいですかエージェントプール)?

たとえば、Pool1にはServer1、Pool2にはServer2があります。私のリリースステップでは、「Run on agent」を選択し、Pool1を選択しました。私はその後、エージェントにファイルをコピーして、それを実行するタスクを持っています。私がする必要があるのは、Pool1サーバーからVSTSにアクセス可能なパスからzipファイルをプルダウンし、そのzipファイルをPool2サーバーが認めるパスに送信することです。

エージェントプールからファイルをダウンロードすることはできますか。私は、もし私が "プール1のステップで実行"することができたと仮定すると、そのzipファイルをどこかにリリースの一時パス/作業ディレクトリに格納し、私は作業ディレクトリから "実行するためにWindowsファイルのコピーを行うことができるon pool2 steps "を参照してください。

答えて

0
  • Windowsマシンファイルコピータスクで他のマシンにアクセスできる場合。 Windows Machine File Copy taskを使用して、マシンから別のマシンにファイルをコピーすることができます。以下のようなタスクの設定:$(System.DefaultWorkingDirectory)/build/dropのように、コピー先のファイルのパス:

    ソース:

    マシン:コピー先の他のマシンのIP。

    管理者ログイン:ComputerName\AdminUserName

    パスワード:管理者ユーザー名のパスワード。

    宛先フォルダ:ファイルをコピーする他のマシンのパス。

  • ファイアウォールの設定に基づいて他のマシンにアクセスできない場合は、2つのマシンがアクセスできる場所(自分のWebサイトやgithubなど)にファイルをアップロードしてから、ウェブサイトからファイルをダウンロードするためのパワーシェルタッシュ。これらのサーバは(例えばFTPを/ダウンロードファイルをアップロードするためにお互いに接続できない場合

+0

これはVSTSからAGENTにコピーされています...私は反対をしたいと思っています。エージェントでコマンドを実行して、c:\ archive.zipのようなzipファイルを作成し、zipファイルをVSTSにコピーし、別の "Run on agent task"(Windowsマシンのファイルコピーを使用することができます)をVSTSから別のエージェントプールにコピーするには – Vee

+0

Windowsマシンのファイルコピーを直接使用してマシン間でファイルをコピーできます。 zipファイルをコピーする場合は、Windowsマシンのファイルコピーの前にArchive filesタスクを追加することができます。最初にファイルをVSTSにアップロードしてから別のエージェントでダウンロードする場合は、VSTS git repoのcommit/push/cloneにpowershellタスクを追加できます。 –

0

いいえ、他のエージェントからファイルをダウンロードするためのタスクが存在しない、また、中央のサーバが必要とされ、 HTTP)

一方、ファイルはエージェントプールに格納されず、エージェント内にあり、エージェントプールはエージェントを編成するために使用され、異なるエージェント/エージェントは同じエージェントプール内にあります。複数のエージェントプールでAgent pools and queues

+0

エージェントからVSTSへのダウンロードはどうですか?たとえば、リリースファイルが作成されている出力先フォルダをアーカイブするpowershellスクリプトを実行します。そのアーカイブをダウンロードして、リリースで使用されたリリース成果物と一緒に保存するとよいでしょう。(つまり、ロールバック/リリースで、削除すると思わなかったファイルが誤って削除されます) – Vee

+0

@Veeアーティファクトを関連付けることはできません(リリースでの成果物の発行タスクの例外をスローする)、必要なファイルを共有フォルダにコピーするか、FTPサーバーにアップロードすることができます。 –

0

非常に脆いスパゲッティタイプのビルドを作ろうとしているようです。これらのファイルは、ソース管理やビルドの成果物として保持することはできませんか?そうすることで、レポをクローン/プルすることができます。また、今すぐプレビューに出ているダウンロードアーティファクトタスクを使用することもできます。

関連する問題